asp.net mvc發送郵件附帶附件代碼~~~~

1:導入引用using System.Net.Mail;

2: private MailMessage message = new MailMessage();//申明郵件類

3:   //這裏只是模擬郵件發送功能

         public ActionResult GetRegist(string txt,string pwd) {


            //EmailHtlper.Send(string.Format("用戶{0}於{1}註冊賬號,密碼爲{2},請牢記你的密碼", txt, DateTime.Now, pwd));


        string EmailAccunt = "x'x'x'[email protected]";//接受郵件的郵箱 
        string toMailAddress = "[email protected]";//發送郵件的郵箱
       string EmailCode = "xxxxx";    //發送郵箱的授權碼,這是qq郵箱的驗證碼
            


       
            message.To.Add(EmailAccunt);//要發送到的郵箱
            message.From = new MailAddress(toMailAddress); 
            message.Subject = "測試郵件";//郵件的標題
            message.SubjectEncoding = System.Text.Encoding.UTF8;
            message.Body = "這是測試郵件,只是驗證";//郵件的正文
            message.BodyEncoding = System.Text.Encoding.UTF8;//編碼格式
            message.IsBodyHtml = true; //是否爲html格式 
            message.Priority = MailPriority.High; //發送郵件的優先等級 
            SmtpClient sc = new SmtpClient();//允許應用程序使用簡單的郵件傳輸協議
            sc.EnableSsl = true;//是否SSL加密
            sc.Host = "smtp.qq.com"; //指定發送郵件的服務器地址或IP 
            sc.Port = 25; //指定發送郵件端口 ,默認端口
            sc.Credentials = new System.Net.NetworkCredential(toMailAddress, EmailCode); //指定登錄服務器的用戶名和密碼(注意:這裏的密碼是開通上面的pop3/smtp服務提供給你的授權密碼,不是你的qq密碼)


            try
            {


                string path = "C:/Users/Administrator/Desktop/新建文本文檔.txt";//附件的絕對路勁
                AddAttachments(path);//添加附件
                sc.Send(message); //發送郵件 
            }
            catch (Exception e)
            {
                Response.Write(e.Message);
             
            }


      return Content("ok");
        }


這是郵件發送代碼,下面是附件的代碼

      public void AddAttachments(string attachmentsPath)//這裏的參數代表附件的絕對路徑
        {
            try
            {
                string[] path = attachmentsPath.Split(';'); //以什麼符號分隔可以自定義
                Attachment data;
                ContentDisposition disposition;
                for (int i = 0; i < path.Length; i++)
                {
                    data = new Attachment(path[i], MediaTypeNames.Application.Octet);
                    disposition = data.ContentDisposition;
                    disposition.CreationDate =System.IO.File.GetCreationTime(path[i]);
                    disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]);
                    disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]);
                    message.Attachments.Add(data);//添加附件
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

好了,這樣就可以實現發送郵件的額功能了;


發佈了45 篇原創文章 · 獲贊 41 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章