2010-06-21 75 views
-1

我試圖發送郵件,但這個代碼引發錯誤「發送失敗」在C#中發送電子郵件?

MailMessage MailMesaji = new MailMessage(); 
MailMesaji.Subject = "subject"; 
MailMesaji.Body = "mail body"; 
//MailMesaji.BodyEncoding = Encoding.GetEncoding("Windows-1254"); // Turkish Character Encoding 
MailAddress mdrom = new MailAddress("[email protected]"); 
MailMesaji.From = mdrom; 
MailMesaji.To.Add(new MailAddress("[email protected]")); 

System.Net.Mail.SmtpClient Smtp = new SmtpClient(); 
Smtp.Host = "mail.verydindai.com"; // for example gmail smtp server 
Smtp.EnableSsl = true; 
Smtp.Port = 465; 

Smtp.Credentials = new System.Net.NetworkCredential("amit.pandey", "1234567"); 
Smtp.Send(MailMesaji); 

PLZ告訴我的解決方案?如果你有另一個解決方案告訴我?

+3

什麼是你得到確切的例外? – 2010-06-21 10:39:11

回答

1

我記下一個控制檯應用程序請嘗試此示例。 與您的憑據地址,從地址,密碼,正文

using System; 
using System.Text; 
using System.Net.Mail; 
using System.Net; 

namespace TestingConsole 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      try 
      { 
       string to = "[email protected]"; 
       string from = "[email protected]"; 
       string from_pwd = "mypassword"; 
       string subject = "Sample Mail testing"; 
       string body = "Wow this is testing body"; 
       MailMessage mM = new MailMessage(); 
       mM.From = new MailAddress(from); 
       mM.To.Add(to); 
       mM.Subject = subject; 
       mM.Body = body; 
       mM.IsBodyHtml = false; 
       mM.Priority = MailPriority.High; 
       SmtpClient sC = new SmtpClient("smtp.gmail.com"); 
       sC.Port = 587; 
       sC.Credentials = new NetworkCredential(from, from_pwd); 
       sC.EnableSsl = true; 
       sC.Send(mM); 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine(e.Message + " " + e.StackTrace); 
      } 
     } 
    } 
} 
1
string to = ""; 
    string from = ""; 
    string from_pwd = ""; 
    MailMessage mM = new MailMessage(); 
    mM.From = new MailAddress(from); 
    mM.To.Add(to); 
    mM.Subject = subject; 
    mM.Body = body; 
    mM.IsBodyHtml = true; 
    mM.Priority = MailPriority.High; 
    SmtpClient sC = new SmtpClient("smtp.gmail.com"); 
    sC.Port = 587; 
    sC.Credentials = new NetworkCredential(from, from_pwd); 
    sC.EnableSsl = true; 
    sC.Send(mM); 
+0

根據驗證程序,遠程證書無效。 我得到這個例外 – 2010-06-21 11:02:49

+0

供參考:這裏給出的代碼經過測試,然後提供 – 2010-06-22 04:51:49

1

您可能需要改變你要連接的端口,我認爲谷歌應該是465或587,如果啓用了SSL。

另請檢查是否有某些可能會干擾的防病毒軟件。 AV軟件通常阻止定製軟件發送電子郵件。可能還有一些防火牆不會讓你通過所需的端口。