【发布时间】:2015-12-02 12:38:01
【问题描述】:
我在使用 Gmail 向特定人员发送电子邮件时遇到问题。实际上我的项目是从一个位置复制一个 Excel 文件并将其发送给特定的人。文件已成功复制,但无法发送电子邮件。出现一个消息框,正在显示
System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应是:
5.7.0 必须先发出 STARTTLS 命令。 qh5sm9940329pbb.71 - gsmtp"
Sub Main()
CopyFile = "\\192.168.5.1\fbar\TOOLS\ProbingApps\ProbingSystem\testMail.xlsx"
MyHour = Format(Now, "hh")
MyMinutes = Format(Now, "mm")
MySec = Format(Now, "ss")
MyDate = Format(Now, "dd")
MyMonth = Format(Now, "MM")
myYear = Format(Now, "yyyy")
Mydirectory = "C:\Users\Thaneskumar\Desktop\test2\"
MyExtension = ".xlsx"
MyFileName = Mydirectory + MyHour + MyMinutes + MySec + "_" + MyDate + _
MyMonth + "_" + myYear + MyExtension
CopyTo = MyFileName
If System.IO.File.Exists(CopyFile) = True Then
System.IO.File.Copy(CopyFile, CopyTo)
MsgBox("File Copied")
End If
automail()
MsgBox("Mail send")
End Sub
Public Sub automail()
Try
Dim SmtpServer As New SmtpClient()
Dim mail As New MailMessage()
SmtpServer.Credentials = New _
Net.NetworkCredential("cgthanes44@gmail.com", "******")
SmtpServer.Port = 587
SmtpServer.Host = "smtp.gmail.com"
mail = New MailMessage()
mail.From = New MailAddress("cgthanes44@gmail.com")
mail.To.Add("cgthanes33@yahoo.com")
mail.Subject = "Test Mail"
Dim attach As New Attachment(MyFileName)
mail.Attachments.Add(attach)
mail.Body = "This is for testing SMTP mail from GMAIL"
SmtpServer.Send(mail)
MsgBox("mail send")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
【问题讨论】:
-
您是否对错误信息及其含义进行过研究? GMail 服务器在使用端口 587 时需要加密连接和登录。
-
是的,我这样做了。 gmail 的端口是 587....