Возникли проблемы с аутентификацией SMTP - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь создать небольшой почтовый клиент в программе 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, хотя я не уверен, что делать со знанием этого значения.

Любая помощь по этому вопросу будет принята с благодарностью. Спасибо.

...