我正在尝试在VB.Net程序中制作一个小型电子邮件客户端。该程序假设一旦用户决定提交订单就能够轻松地通过电子邮件将订单PDF发送给供应商。我目前正在使用我的两个电子邮件地址来测试我是否可以正确发送邮件(“发件人”地址是我的工作电子邮件,完成后将使用与应用程序相同的服务器)。
这是我当前的设置:
Imports System.Net.Mail
Public Class OrderEmail
Private _orderNumber As String
Public ReadOnly Property OrderNumber As String
Get
OrderNumber = _orderNumber
End Get
End Property
Private mail As MailMessage
Public Sub New(ByVal orderNumber As String)
_orderNumber = orderNumber
mail = New MailMessage()
InitializeMessage()
End Sub
Private Sub InitializeMessage()
mail.To.Add("MyPersonal@email.com")
mail.From = New MailAddress("MyWork@Email.com")
mail.Subject = "Test Email for Order #" & OrderNumber
mail.Body = "This is a test email"
mail.Attachments.Add(New Attachment(INIFuncs.PathPrevDirectory(CurDir) & "PDF\" & OrderNumber & ".pdf"))
End Sub
Public Sub SendMessage()
Dim smtp As New SmtpClient()
smtp.Host = "smtpauth.myhost.com"
smtp.Port = 587
smtp.Credentials = New Net.NetworkCredential("myUsername", "myPassword")
Try
smtp.Send(mail)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
有关代码的一两个简短提示:
我显然没有提供任何实际的个人数据,但是我已经检查并确保我具有正确的smtp传出地址以及正确的端口号。
INIFuncs.GetPathPrevDirectory
是一个客户类,创建后仅将文件路径返回可执行文件所在文件夹所在的目录。因此,如果程序从C:/Test/Program/vb.exe
运行,则方法将返回C:/Test/
现在,当我运行程序并尝试发送电子邮件时,出现以下错误:
邮箱不可用。服务器响应是:需要SMTP验证
在进行调试时,_COMPlusExceptionCode
的值为-532462766
,尽管我不确定知道该值该怎么做。
在此方面的帮助将不胜感激。谢谢。