2011-06-26 43 views
1

我創建Gmail帳戶用它來發送郵件,但沒有任何郵件(無任何例外)發送代碼片段:如何使用Gmail帳戶發送郵件?

公共靜態布爾SendEmail(字符串_FromEmail,串_ToEmail,串_Subject,串_EmailBody) {

try 
    { 


     SmtpClient smtpClient = new SmtpClient(); 
     smtpClient.Host = "smtp.gmail.com"; 
     smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis; 
     smtpClient.Port = 465; 
     smtpClient.Credentials = new NetworkCredential("my gmail account", "my password"); 
     smtpClient.EnableSsl = false; 
     smtpClient.UseDefaultCredentials = false; 
     MailMessage msg = new MailMessage(); 
     msg.From = new MailAddress(_FromEmail); 
     msg.To.Add(new MailAddress(_ToEmail)); 
     msg.Subject = _Subject; 
     msg.Body = _EmailBody; 
     msg.IsBodyHtml = true; 

     smtpClient.Send(msg); 

     return true; 
    } 
    catch (Exception ex) 
    { 
     if (ex.InnerException != null) 
     { 
      String str = ex.InnerException.ToString(); 

     } 
     return false; 
    } 



} 

回答

1

我不是一個ASP.net的傢伙。但讓我告訴你一些嘗試。嘗試在端口587上使用STARTTLS。我有與java相同的問題,我可以通過使用STARTTLS解決它。

看一看this page

好運。

+0

當我試圖設置smtpClient.EnableSsl = true;我得到這個異常:[System.Net.Mail.SmtpException] = {「不能爲拾取目錄傳送方法啓用SSL。」} –

+0

不啓用ssl。你必須啓用starttls。對不起,我不知道如何在asp.net中做到這一點。在java中,我們通過「properties.put(」mail.smtp.starttls.enable「,」true「); properties.put(」mail.smtp.auth「,」true「);來啓用strattls和身份驗證;嘗試找到如何在asp.net中實現相同的功能 – Bee

相關問題