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