2015-09-14 82 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

建議使用顯式安全性。

下面的代碼實現顯式安全解決了這個問題。

Smtp1.Session.Security.Encrypt = Encrypt.Explicit

0

嘗試啓用SSL模式,像

Smtp1.EnableSSL = True 

這適用於Gmail的情況,請與您的確認。