日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Asp.net2.0發(fā)送電子郵件

 mefly 2008-01-14

Asp.net2.0發(fā)送電子郵件

文:Ryo

        通常我們會用JMail之類的第三方工具,來解決郵件的接收和發(fā)送等問題的。但是如果客戶的服務器是租用的不能安裝這些工具的時候,就可以考慮用.net2.0自己寫一個發(fā)送和接收郵件的程序。

        首先要引用以下命名空間:
using System.Net;
using System.Net.Mail;
using System.Net.Sockets;
然后首先是發(fā)送郵件的程序,比較簡單,網(wǎng)上搜索到的也是大同小異:
 MailAddress from = new MailAddress(發(fā)郵件的email地址);
 MailAddress to = new MailAddress(收郵件的email地址);
 MailMessage mailobj = new MailMessage(from, to);
 mailobj.Subject = funcEncode(你的郵件標題);
 注意,這里的funcEncode(見附文)是對文章的標題進行編碼轉換,因為郵件系統(tǒng)使用的是MIME協(xié)議,通常會用到QP編碼(標題等短字符)和base64編碼(文章內(nèi)容等長字符),如果不進行編碼轉換,收郵件的郵箱通常會接收中文郵件的時候出現(xiàn)亂碼,或者會被過濾而收不到。
  
 mailobj.Body = “你的郵件正文”;
 mailobj.IsBodyHtml = true;
 mailobj.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");
 mailobj.Priority = MailPriority.High;
 如果有附件:
 if(aFileUpload.PostedFile.ContentLength > 0)
 {
  mailobj.Attachments.Add(new Attachment(aFileUpload.PostedFile.FileName));
 }
 根據(jù)自己的郵箱,選擇發(fā)郵件的SMTP:
 SmtpClient smtp = new SmtpClient("smtp.163.com");
 smtp.UseDefaultCredentials = false;
 smtp.Credentials = new NetworkCredential(你的郵箱, 郵箱密碼);
 smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
 smtp.Send(mailobj);
 
發(fā)郵件的程序基本完成了。
附:
 //對標題進行編碼轉換
  public static string funcEncode(string aStr)
  {
   string c = "";
   aStr = System.Web.HttpUtility.UrlEncode(aStr, System.Text.Encoding.GetEncoding("GB2312"));
   int j = 0;
   for(int i = 0; i < aStr.Length; i++)
   {
    if(aStr[i] == '%')
    {
     c += "=";
     j = i;
    }
    if(i - j < 3 && i - j > 0 && j != 0)
    {
     c += aStr[i].ToString().ToUpper();
    }
    else
    {
     if(aStr[i] != '%')
      c += aStr[i];
    }

   }
   
   //為了接收郵件不出現(xiàn)亂碼,我加了一個標頭,聲明用GB2312轉換而成的QP編碼。
   return "=?GB2312?Q?" + c + "?=";
  }
 
 //以下就是在讀郵件的時候用的解碼。
  public static string funcDecode(string aStr)
  {
   string d = "";
   d = aStr.Replace("=", "%");
   d = System.Web.HttpUtility.UrlDecode(d, System.Text.Encoding.GetEncoding("GB2312"));
   return d;
 }

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多