2015-09-02 157 views
0

我想用ASP.NET中的SMTPClient使用GoDaddy郵件服務器發送郵件,我的代碼如下,我嘗試了GoDaddy中的所有端口,但是我無法發送郵件無法從ASP.NET中的godaddy郵件服務器發送郵件

我的代碼:

try 
    { 

     //Mail Message 
     MailMessage mM = new MailMessage(); 
     //Mail Address 
     mM.From = new MailAddress("[email protected]"); 
     //receiver email id 
     mM.To.Add("[email protected]"); 
     //subject of the email 
     mM.Subject = "your subject line will go here"; 
     mM.Body = "Body of the email"; 
     mM.IsBodyHtml = true; 
     //SMTP client 

     SmtpClient sC = new SmtpClient(); 

     //credentials to login in to hotmail account 
     sC.Credentials = new NetworkCredential(username, password); 

     //port number for Hot mail 
     sC.Port = 25; 
     sC.Host = "smtpout.asia.secureserver.net"; 
     sC.UseDefaultCredentials = false; 

     //enabled SSL 
     sC.EnableSsl = false; 
     sC.DeliveryMethod = SmtpDeliveryMethod.Network; 

     sC.Timeout = 40000; 

     //Send an email 
     sC.Send(mM); 

    } 
    catch (Exception ex) 
    { 
     var temp = ex.Message; 
    } 

我也使用端口號465與enablessl =真實的,但沒有成功

+0

什麼「不起作用」呢?你有沒有例外? –

+0

是的,我得到一個異常,如「** SMTP服務器需要安全連接或客戶端未經過身份驗證。服務器響應是:需要身份驗證**」這是爲端口號25 而當我使用端口號465與EnableSsl = true,我得到一個異常「** {」無法從傳輸連接讀取數據:net_io_connectionclosed。「} **」 – Bharath

+0

嘗試端口587和enablessl = true – jsanalytics

回答

0

我這個掙扎過,並找到了解決辦法。

問題是,GoDaddy使用隱式SSL(SMTPS),這不受System.Net.Mail支持。 應該可以使用GoDady中繼帳戶,但是每天只能發送250封電子郵件,並且發送的電子郵件在接收方將是垃圾郵件不可見的!

後來我發現一個開源庫:http://sourceforge.net/projects/netimplicitssl/

您可以在Visual Studio中通過的NuGet得到這個包。 搜索:Aegis隱式郵件。 我可以告訴你,這完美的作品!

private void _SendEmail() 
{ 
    try 
    { 
     var mail = "[email protected]"; 
     var host = "smtpout.europe.secureserver.net"; 
     var user = "[email protected]"; 
     var pass = "YourGoDaddyPassword!"; 

     //Generate Message 
     var message = new MimeMailMessage(); 
     message.From = new MimeMailAddress(mail); 
     message.To.Add("[email protected]"); 
     message.Subject = "Subject Text..."; 
     message.Body = "Body Text..."; 

     //Create Smtp Client 
     var mailer = new MimeMailer(host, 465); 
     mailer.User = user; 
     mailer.Password = pass; 
     mailer.SslType = SslMode.Ssl; 
     mailer.AuthenticationMode = AuthenticationType.Base64; 

     //Set a delegate function for call back 
     mailer.SendCompleted += compEvent; 
     mailer.SendMailAsync(message); 
    } 
    catch (Exception ex) 
    { 
     string msg = ex.Message; 
    } 
} 
private void compEvent(object sender, AsyncCompletedEventArgs e) 
{ 
    if (e.UserState != null) 
     Console.Out.WriteLine(e.UserState.ToString()); 

    Console.Out.WriteLine("is it canceled? " + e.Cancelled); 

    if (e.Error != null) 
     Console.Out.WriteLine("Error : " + e.Error.Message); 
} 
-1

你應該注意你不能發送非html或純文本電子郵件。 message.IsBodyHtml成員目前似乎不起作用。

相關問題