软件研发』[部落简介] SendMail程序

作者:kobell 提交日期:2008-1-10 19:21:04  
  用System.Web.Mail发送邮件,适用于.net1.1,.net2.0请用System.Net.Mail
  
  先引用System.Web
  1,发送简单邮件
  [ C# ]
  MailMessage mail = new MailMessage();mail.To = "me@mycompany.com";mail.From = "you@yourcompany.com";mail.Subject = "this is a test email.";mail.Body = "this is my test email body";SmtpMail.SmtpServer = "localhost"; //your real server goes hereSmtpMail.Send( mail );
  
  [ VB.NET ]
  Dim mail As New MailMessage()mail.To = "me@mycompany.com"mail.From = "you@yourcompany.com"mail.Subject = "this is a test email."mail.Body = "this is my test email body"SmtpMail.SmtpServer = "localhost" ’your real server goes hereSmtpMail.Send(mail)这里的smtpserver只能是那些不需要验证的smtp服务器,像126,sina,yahoo等等的邮箱,都需要验证,所以不能用。用这些邮箱发信后面会讲到2,发送Html邮件[ C# ] MailMessage mail = new MailMessage();mail.To = "me@mycompany.com";mail.From = "you@yourcompany.com";mail.Subject = "this is a test email.";mail.BodyFormat = MailFormat.Html;mail.Body = "this is my test email body.<br><b>this part is in bold</b>";SmtpMail.SmtpServer = "localhost"; //your real server goes hereSmtpMail.Send( mail );
   [ VB.NET ] Dim mail As New MailMessage()mail.To = "me@mycompany.com"mail.From = "you@yourcompany.com"mail.Subject = "this is a test email."mail.BodyFormat = MailFormat.Htmlmail.Body = "this is my test email body.<br><b>this part is in bold</b>"SmtpMail.SmtpServer = "localhost" ’your real server goes hereSmtpMail.Send(mail)
  
  3,发送附件
  [ C# ]
  MailMessage mail = new MailMessage();mail.To = "me@mycompany.com";mail.From = "you@yourcompany.com";mail.Subject = "this is a test email.";mail.Body = "this is my test email body.";MailAttachment attachment = new MailAttachment( Server.MapPath( "test.txt" ) ); //create the attachmentmail.Attachments.Add( attachment ); //add the attachmentSmtpMail.SmtpServer = "localhost"; //your real server goes hereSmtpMail.Send( mail );
  
  [ VB.NET ]
  Dim mail As New MailMessage()mail.To = "me@mycompany.com"mail.From = "you@yourcompany.com"mail.Subject = "this is a test email."mail.Body = "this is my test email body."Dim attachment As New MailAttachment(Server.MapPath("test.txt")) ’create the attachmentmail.Attachments.Add(attachment) ’add the attachmentSmtpMail.SmtpServer = "localhost" ’your real server goes hereSmtpMail.Send(mail)
  4,修改发件人和收件人的名称比如发件人的地址是abc@126.com,我们用outlook收到信,From一栏里将直接显示abc@126.com.能不能在From一栏里显示友好一点的名字呢?比如显示Tony Gong方法如下:[ C# ] MailMessage mail = new MailMessage();mail.To = "\"John\" <me@mycompany.com>";mail.From = "\"Tony Gong\" <you@yourcompany.com>";mail.Subject = "this is a test email.";mail.Body = "this is my test email body.";SmtpMail.SmtpServer = "localhost"; //your real server goes hereSmtpMail.Send( mail );
   [ VB.NET ] Dim mail As New MailMessage()mail.To = """John"" <me@mycompany.com>"mail.From = """Tony Gong"" <you@yourcompany.com>"mail.Subject = "this is a test email."mail.Body = "this is my test email body."SmtpMail.SmtpServer = "localhost" ’your real server goes hereSmtpMail.Send(mail)
  5,发送给多人
  [ C# ]
  MailMessage mail = new MailMessage();mail.To = "me@mycompany.com;him@hiscompany.com;her@hercompany.com";mail.From = "you@yourcompany.com";mail.Subject = "this is a test email.";mail.Body = "this is my test email body.";SmtpMail.SmtpServer = "localhost"; //your real server goes hereSmtpMail.Send( mail );
  
  [ VB.NET ]
  Dim mail As New MailMessage()mail.To = "me@mycompany.com;him@hiscompany.com;her@hercompany.com"mail.From = "you@yourcompany.com"mail.Subject = "this is a test email."mail.Body = "this is my test email body."SmtpMail.SmtpServer = "localhost" ’your real server goes hereSmtpMail.Send(mail)
  
  6,用需要Smtp验证的邮箱发信
  现在为了防止垃圾邮件,绝大部分Smtp服务器需要验证了
  发信方法如下:
  [ C# ]
   MailMessage mail = new MailMessage(); mail.To = "me@mycompany.com"; mail.From = "abc@126.com"; mail.Subject = "this is a test email."; mail.Body = "Some text goes here"; mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc"); //set your username here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your password"); //set your password here SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here SmtpMail.Send( mail );
  
  [ VB.NET ]
   Dim mail As New MailMessage() mail.To = "me@mycompany.com" mail.From = "abc@126.com" mail.Subject = "this is a test email." mail.Body = "Some text goes here" mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1") ’basic authentication mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc") ’set your username here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "Your Password") ’set your password here SmtpMail.SmtpServer = "smtp.126.com" ’your real server goes here SmtpMail.Send(mail)7,修改smtp服务器的端口,以及使用SSL加密大部分smtp服务器的端口是25,但有些却不是同时,绝大部分Smtp服务器不需要SSL登陆,有些却需要比如Gmail,smtp端口是:465,同时支持SSL代码如下:[ C# ] MailMessage mail = new MailMessage(); mail.To = "me@mycompany.com"; mail.From = "abc@126.com"; mail.Subject = "this is a test email."; mail.Body = "Some text goes here"; mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc"); //set your username here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your password"); //set your password here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport",465); mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
   SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here SmtpMail.Send( mail ); [ VB.NET ] Dim mail As New MailMessage() mail.To = "me@mycompany.com" mail.From = "abc@126.com" mail.Subject = "this is a test email." mail.Body = "Some text goes here" mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1") ’basic authentication mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc") ’set your username here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "Your Password") ’set your password here mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport",465) mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true") SmtpMail.SmtpServer = "smtp.126.com" ’your real server goes here SmtpMail.Send(mail)
  
  
  /// <summary>
  /// sendmail参数说明
  /// </summary>
  /// <param name="strFrom">发信人</param>
  /// <param name="strTo">收信人</param>
  /// <param name="strCc">抄送人</param>
  /// <param name="strBcc">密送人</param>
  /// <param name="txtSubject">主题</param>
  /// <param name="txtBody">内容</param>
  
   public void SendMail(string strFrom,string strTo,string strCc,string strBcc ,string txtSubject,string txtBody)
   {
   MailMessage MailMsg=new MailMessage();
   //MailAttachment MailAttach=new MailAttachment("0");
  
   MailMsg.From=strFrom;
   MailMsg.To=strTo;
   if(strCc!="")
   {
   MailMsg.Cc=strCc;
   }
   if(strBcc!="")
   {
   MailMsg.Bcc=strBcc;
   }
   MailMsg.Subject=txtSubject;
   MailMsg.Body=txtBody;
   MailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
   MailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "+++"); //set your username here
   MailMsg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "+++");
   SmtpMail.SmtpServer="smtp.hainan.net";
  
   SmtpMail.Send(MailMsg);
  
  
   }
  


注意:非注册用户没有发表信息的权利。 登录 

用户: 口令:

点击[] (最多可以插入5张图片 ,未登陆状态请手工输入图片url )
    

验证码:   


发言前,请仔细阅读并同意以下注意事项,未注册用户请返回社区首页注册。
1.请尊重网上道德;
2.遵守互联网电子公告服务管理规定及中华人民共和国其他各项有关法律法规;
3.严禁发表危害国家安全、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的作品;
4.承担一切因您的行为而直接或间接导致的民事或刑事法律责任。




关 闭