zoukankan      html  css  js  c++  java
  • 通过System.Web.Mail程序发邮件

      在.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;                    
                }

                SendMail(MailAddr,Subject,MailBody,mailatta);
            }

    以上程序在VS.Net2003,Windows 2003(SP1)平台下测试通过。
  • 相关阅读:
    错题集知识(持续更新)
    Java 初始化过程
    java基础自定义测试异常类
    1049 数列的片段和 (20 分)
    1044 火星数字 (20 分)
    1048 数字加密(20分)
    js 全选反选和全不选
    robust programmings
    gdb define command
    好久没有破解别人的无线了, 重温一下
  • 原文地址:https://www.cnblogs.com/13590/p/408956.html
Copyright © 2011-2022 走看看