2015-09-14 3 views
0

Я пытаюсь отправить почту с помощью Dart Control. Он хорошо работает с конкретным сервером, но так как я перешел на защищенный сервер, я получаю следующее сообщение об ошибке:Невозможно отправить почту (VB.net)

Протокол Exception-- Запрос: AUTH LOGIN Ответ: 530 Должен выдать команду STARTTLS первый

Ниже приведен код:

Dim Smtp1 As Smtp = New Smtp 
Dim SMTPResult As SmtpResult 
Dim Message As Dart.Mail.MailMessage = New Dart.Mail.MailMessage() 

Smtp1.Session.RemoteEndPoint.Port = intPortNo 
strErrLoc = "SMTP1.DnsServerTimeout" 
Smtp1.DnsServerTimeout = 15 'default time out 30 seconds 

strErrLoc = "Set User Name" 
Smtp1.Session.Username = strUserID 
Smtp1.Session.Password = strPWD 

strErrLoc = "Subject and Mail TEXT" 
Message.Subject = strSubject 
If strHTMLEmail.Trim = "" Then 
    Message.Text = strMailText 
Else 
    Message.Html = strHTMLEmail 
End If 

Smtp1.Session.Authentication = Authentication.Auto 

Smtp1.Session.RemoteEndPoint.HostNameOrAddress = strServerName.Trim 
Smtp1.Session.ServicePrincipleName = "SMTP/" & strServerName.Trim 


SMTPResult = Smtp1.Send(Message) 

ответ

0

Предложение заключается в использовании Явной безопасности.

Этот код, реализующий Explicit Security, разрешил проблему.

Smtp1.Session.Security.Encrypt = Encrypt.Explicit

0

попытка с благоприятным режимом SSL, как

Smtp1.EnableSSL = True 

это работает в случае Gmail, пожалуйста, проверьте его.