打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Asp.net2.0发送电子邮件

Asp.net2.0发送电子邮件

文:Ryo

        通常我们会用JMail之类的第三方工具,来解决邮件的接收和发送等问题的。但是如果客户的服务器是租用的不能安装这些工具的时候,就可以考虑用.net2.0自己写一个发送和接收邮件的程序。

        首先要引用以下命名空间:
using System.Net;
using System.Net.Mail;
using System.Net.Sockets;
然后首先是发送邮件的程序,比较简单,网上搜索到的也是大同小异:
 MailAddress from = new MailAddress(发邮件的email地址);
 MailAddress to = new MailAddress(收邮件的email地址);
 MailMessage mailobj = new MailMessage(from, to);
 mailobj.Subject = funcEncode(你的邮件标题);
 注意,这里的funcEncode(见附文)是对文章的标题进行编码转换,因为邮件系统使用的是MIME协议,通常会用到QP编码(标题等短字符)和base64编码(文章内容等长字符),如果不进行编码转换,收邮件的邮箱通常会接收中文邮件的时候出现乱码,或者会被过滤而收不到。
  
 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));
 }
 根据自己的邮箱,选择发邮件的SMTP:
 SmtpClient smtp = new SmtpClient("smtp.163.com");
 smtp.UseDefaultCredentials = false;
 smtp.Credentials = new NetworkCredential(你的邮箱, 邮箱密码);
 smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
 smtp.Send(mailobj);
 
发邮件的程序基本完成了。
附:
 //对标题进行编码转换
  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];
    }

   }
   
   //为了接收邮件不出现乱码,我加了一个标头,声明用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;
 }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
邮件发送
.net类库中发送电子邮件的方法总结
ASP.NET如何利用Jmail实现发送邮件功能
ASP.NET2.0中发送电子邮件-陈晨-博客园
用ASP.NET构建完整E-mail发送系统—编程爱好者网站 http://www.programfan.com
Unity发送邮件功能
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服