程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 通過System.Web.Mail程序發郵件

通過System.Web.Mail程序發郵件

編輯:.NET實例教程

 在.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]";
       &nbs
p;    //定義郵件的主題
            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";
    &
nbsp;       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)平台下測試通過。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved