SMTP验证遇到问题

时间:2018-08-27 19:19:33

标签: vb.net smtp email-integration smtp-auth

我正在尝试在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

有关代码的一两个简短提示:

  1. 我显然没有提供任何实际的个人数据,但是我已经检查并确保我具有正确的smtp传出地址以及正确的端口号。

  2. INIFuncs.GetPathPrevDirectory是一个客户类,创建后仅将文件路径返回可执行文件所在文件夹所在的目录。因此,如果程序从C:/Test/Program/vb.exe运行,则方法将返回C:/Test/

现在,当我运行程序并尝试发送电子邮件时,出现以下错误:

  

邮箱不可用。服务器响应是:需要SMTP验证

在进行调试时,_COMPlusExceptionCode的值为-532462766,尽管我不确定知道该值该怎么做。

在此方面的帮助将不胜感激。谢谢。

0 个答案:

没有答案