VB.Net – 发送电子邮件
VB.Net允许从您的应用程序发送电子邮件. System.Net.Mail 命名空间包含用于将电子邮件发送到简单邮件传输协议(SMTP)服务器以进行传递的类.
下表列出一些常用的类 :
| Sr.No. | Class&说明 |
|---|---|
| 1 |
Attachment 表示电子邮件的附件. |
| 2 |
AttachmentCollection 存储要发送的附件电子邮件的一部分. |
| 3 |
MailAddress 表示电子邮件发件人或收件人的地址. |
| 4 |
MailAddressCollection 存储与电子邮件关联的电子邮件地址. |
| 5 |
MailMessage 表示可以发送的电子邮件使用SmtpClient类发送. |
| 6 |
SmtpClient 允许应用程序使用简单邮件传输发送电子邮件协议(SMTP). |
| 7 |
SmtpException 表示当SmtpClient无法完成Send或SendAsync操作时引发的异常. |
SmtpClient类
SmtpClient类允许应用程序通过以下方式发送电子邮件使用简单邮件传输协议(SMTP).
以下是SmtpClient类的一些常用属性 :
| Sr.No. | 属性和描述 |
|---|---|
| 1 |
ClientCertificates 指定应使用哪些证书来建立安全套接字层(SSL)连接. |
| 2 |
Credentials 获取或设置用于验证发件人的凭据. |
| 3 |
EnableSsl 指定SmtpClient是否使用安全套接字层(SSL)加密连接. |
| 4 |
Host 获取或设置用于SMTP事务的主机的名称或IP地址. |
| 5 |
Port 获取或设置用于SMTP事务的端口. |
| 6 |
Timeout 获取或设置一个指定金额的值同步发送呼叫超时的时间. |
| 7 |
UseDefaultCredentials 获取或设置一个布尔值,该值控制是否随请求一起发送DefaultCredentials. |
以下是SmtpClient类的一些常用方法 :
| Sr.No. | 方法&说明 |
|---|---|
| 1 |
Dispose 向SMTP服务器发送QUIT消息,正常结束TCP连接,并释放当前SmtpClient类实例使用的所有资源. |
| 2 |
Dispose(Boolean) 向SMTP服务器发送QUIT消息,正常结束TCP连接,释放当前SmtpClient类实例使用的所有资源,以及可选地处理托管资源. |
| 3 |
OnSendCompleted 引发SendCompleted事件. |
| 4 |
Send(MailMessage) 将指定的消息发送到SMTP服务器以进行传送. |
| 5 |
Send(String, String, String, String) 将指定的电子邮件发送到SMTP服务器以进行传递.邮件发件人,收件人,主题和邮件正文使用String对象指定. |
| 6 |
SendAsync(MailMessage,Object) 发送指定的电子邮件到SMTP服务器以进行传递.此方法不会阻止调用线程,并允许调用者将对象传递给操作完成时调用的方法. |
| 7 |
SendAsync(String,String,String,String,Object) 将电子邮件发送到SMTP服务器以进行传递.使用String对象指定邮件发件人,收件人,主题和邮件正文.此方法不会阻止调用线程,并允许调用者将对象传递给操作完成时调用的方法. |
| 8 |
SendAsyncCancel 取消发送电子邮件的异步操作. |
| 9 |
SendMailAsync(MailMessage) 发送指定的消息到SMTP服务器以作为异步操作传递. |
| 10 |
SendMailAsync(String, String, String, String) 发送指定的内容邮件到SMTP服务器以作为异步操作传递. .邮件发件人,收件人,主题和邮件正文使用String对象指定. |
| 11 |
ToString 返回表示当前对象. |
以下示例演示如何使用SmtpClient类发送邮件.在这方面需要注意以下几点 :
-
您必须指定用于发送e的SMTP主机服务器-邮件.对于不同的主机服务器,主机和端口属性将有所不同.我们将使用gmail服务器.
-
如果SMTP服务器需要,您需要提供凭证进行身份验证.
-
您还应该使用 MailMessage.From 提供发件人的电子邮件地址和收件人的电子邮件地址. MailMessage.To 属性.
-
您还应该使用 MailMessage.Body property.
示例
在这个例子中,让我们创建一个简单的应用程序发送电子邮件.请执行以下步骤 :
-
在表单中添加三个标签,三个文本框和一个按钮控件.
-
将标签的文本属性分别更改为"'从','到:'和'消息:'.
-
分别将文本的名称属性更改为txtFrom,txtTo和txtMessage.
-
将按钮控件的text属性更改为'发送'
-
在代码编辑器中添加以下代码.
Imports System.Net.Mail
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Set the caption bar text of the form.
Me.Text = "IT屋.com"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Dim Smtp_Server As New SmtpClient
Dim e_mail As New MailMessage()
Smtp_Server.UseDefaultCredentials = False
Smtp_Server.Credentials = New Net.NetworkCredential("username@gmail.com", "password")
Smtp_Server.Port = 587
Smtp_Server.EnableSsl = True
Smtp_Server.Host = "smtp.gmail.com"
e_mail = New MailMessage()
e_mail.From = New MailAddress(txtFrom.Text)
e_mail.To.Add(txtTo.Text)
e_mail.Subject = "Email Sending"
e_mail.IsBodyHtml = False
e_mail.Body = txtMessage.Text
Smtp_Server.Send(e_mail)
MsgBox("Mail Sent")
Catch error_t As Exception
MsgBox(error_t.ToString)
End Try
End Sub
-
您必须提供您的gmail地址和真实密码才能获得凭证.
-
当使用Microsoft Visual Studio工具栏上的开始按钮执行并运行上述代码时,它将显示以下窗口,您将用来发送您的电子邮件,亲自尝试.
