2016-02-29 69 views
0

我現在嘗試的是將電子郵件發送到我自己的Gmail帳戶,但是到目前爲止,我嘗試發送時遇到了錯誤。如何從/發送電子郵件到yahoo gmail pop3等任何電子郵件地址?

我沒有嘗試還沒有發到我的POP3電子郵件,而不是雅虎或從我的POP3或從雅虎。現在我試圖發送到我的Gmail。

在一個按鈕單擊事件:

private void button1_Click(object sender, EventArgs e) 
{ 
    sendit("[email protected]"); 
} 

則在該方法sendit使用斷點它總是讓到catch部分

public string sendit(string ReciverMail) 
{ 
     MailMessage msg = new MailMessage(); 

     msg.From = new MailAddress("[email protected]"); 
     msg.To.Add(ReciverMail); 
     msg.Subject = "Hello world! " + DateTime.Now.ToString(); 
     msg.Body = "hi to you ... :)"; 
     SmtpClient client = new SmtpClient(); 
     client.UseDefaultCredentials = true; 
     client.Host = "smtp.gmail.com"; 
     client.Port = 587; 
     client.EnableSsl = true; 
     client.DeliveryMethod = SmtpDeliveryMethod.Network; 
     client.Credentials = new NetworkCredential("[email protected]", "myp"); 
     client.EnableSsl = true; 
     client.Timeout = 20000; 
     try 
     { 
      client.Send(msg); 
      return "Mail has been successfully sent!"; 
     } 
     catch (Exception ex) 
     { 
      return "Fail Has error" + ex.Message; 
     } 
     finally 
     { 
      msg.Dispose(); 
     } 
} 

顯示消息:

「 SMTP服務器需要安全連接,或者客戶端不是 進行身份驗證。服務器響應爲:5。 5.1需要認證。 瞭解更多」

+0

檢查我的答案,並告訴我是否幫助你。 – mybirthname

回答

0

刪除client.UseDefaultCredentials = true;,然後再試一次!

如果UseDefaultCredentials設置,客戶端嘗試與當前登錄的用戶發送電子郵件。如果UseDefaultCredentials是假的,那麼它是要使用你手動設置證書!

0

它是一個安全問題,Gmail的默認阻止訪問您的郵件帳戶從自定義應用程序,你需要開啓存取安全性較低的應用程序。

這裏是鏈接:Less secure applications

相關問題