WEB开发网
开发学院WEB开发ASP.NET 通过System.Web.Mail程序发邮件 阅读

通过System.Web.Mail程序发邮件

 2006-05-26 17:07:56 来源:WEB开发网   
核心提示:在.net 1.1里面,如何用程序控制来发送电子邮件,通过System.Web.Mail程序发邮件,比如,网站用户注册成功后,我们使用程序来调用 private void button_Click(object sender, System.EventArgs e) { string MailAddr=&qu

在.net 1.1里面,如何用程序控制来发送电子邮件。比如,网站用户注册成功后,给注册用户自动发一封邮件,提示用户的注册信息。再则,有时候需要每天定时的把一个报表发给固定的几个人。综合起来需要解决如下的几个问题:
  1、SMTP服务器身份认证。
  2、收件人为多人时,怎么发送。
  3、发送邮件附件。

实现程序如下:

为了使用System.Web.Mail,在名字空间里引用:
  using System.Web.Mail;

定义一个发送邮件的过程

   /**//// <summary>
     /// 发送电子邮件邮件
     /// </summary>
     /// <param name="to">接收电子邮件地址</param>
     /// <param name="subject">邮件主题</param>
     /// <param name="body">邮件正文</param>
     /// <param name="mailatta">附件</param>
     public void SendMail(string to,string subject,string body,MailAttachment mailatta)
     {  

     MailMessage m_Mail = new MailMessage();
       //定义SMTP服务器的名称
       SmtpMail.SmtpServer = "mail.13590.com";

     //定义SMTP邮件服务器需要身份认证
       m_Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
       //认证的用户名
       m_Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
       //认证密码
      m_Mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassWord","password");

     //定义邮件的发送地址
       m_Mail.From="\"秋雨\"<username@13590.com>";      

     //定义邮件的接收地址
       m_Mail.To = to.ToString();

     //定义邮件的暗送地址
       m_Mail.Bcc="bcc@13590.com";
       //定义邮件的抄送地址
       m_Mail.Cc = "cc@13590.com";
       //定义邮件的主题
       m_Mail.Subject = subject;
       //定义邮件的主体
       m_Mail.Body = body;
       //'邮件以 HTML的格式发送
       m_Mail.BodyFormat = MailFormat.Text;
       //定义邮件的有限级,在此设定为高
       m_Mail.PRiority = MailPriority.High;
       //  给发送的邮件附加上一个附件
       if (mailatta!=null)
       {
         m_Mail.Attachments.Add(mailatta);
       }
       try
       {
         SmtpMail.Send(m_Mail);
       }
       catch
       {
         //邮件发送有错
         Memo1.Text=Memo1.Text + subject;          
       }      
     }
注意邮件的地址 
    "\"秋雨\"<username@13590.com>";
    前面是显示的名称,后面是真实的Email地址 ,如果收件人地址为多人,以“;” 隔开,例如:
   "秋雨"<username@13590.com>;"管理员"<sys@13590.com>      注意使用转义字符。

我们使用程序来调用


     private void button_Click(object sender, System.EventArgs e)
     {
    
       string MailAddr="\"秋雨\"<;\">username@13590.com>;\"管理员\"<sys@13590.com> ";
       string Subject="请查收统计报表";
       string MailBody="Test";
       string PathMailAtta=@"C:\统计报表.xls";

     MailAttachment mailatta;
       try
       {
         mailatta= new MailAttachment(PathMailAtta);
  
       }
       catch
       {
         Memo1.Text=Memo1.Text+PathMailAtta+"有异常,检查是否打开";
         return;          
       }
       SendGroupMail(MailAddr,Subject,MailBody,mailatta);
     }
以上程序在VS.Net2003,Windows 2003(SP1)平台下测试通过。

Tags:通过 System Web

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接