2010-06-21 150 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软件通常阻止定制软件发送电子邮件。可能还有一些防火墙不会让你通过所需的端口。