首页 > 开发 > 综合 > 正文

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

2024-07-21 02:24:51
字体:
来源:转载
供稿:网友

商业源码热门下载www.html.org.cn

  在.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="/"秋雨/"<[email protected]>";           

            //定义邮件的接收地址
            m_mail.to = to.tostring();

            //定义邮件的暗送地址
             m_mail.bcc="[email protected]";
            //定义邮件的抄送地址
             m_mail.cc = "[email protected]";
            //定义邮件的主题
            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;                   
            }           
        }

  注意邮件的地址"/"秋雨/"<[email protected]>";前面是显示的名称,后面是真实的email地址 ,如果收件人地址为多人,以“;” 隔开,例如:"秋雨"<[email protected]>;"管理员"<[email protected]>注意使用转义字符。

  我们使用程序来调用


        private void button_click(object sender, system.eventargs e)
        {
       
            string mailaddr="/"秋雨/"<;/">[email protected]>;/"管理员/"<[email protected]> ";
            string subject="请查收统计报表";
            string mailbody="test";
            string [email protected]"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)平台下测试通过。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表