【asp.net】c#邮件类的使用和部署。

邮件发送类:

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Web.UI.WebControls.WebParts;
  9. using System.Web.UI.HtmlControls;
  10. using System.Net;
  11. /// <summary>
  12. /// sendmail 的摘要说明
  13. /// </summary>
  14. namespace donny
  15. {
  16.     public struct EmailParms
  17.     {
  18.         /// <summary>
  19.         /// 收件人邮箱地址
  20.         /// </summary>
  21.         public string ToEmailAddress;
  22.         /// <summary>
  23.         /// 发件人邮箱地址
  24.         /// </summary>
  25.         public string FromEmailAddress;
  26.         /// <summary>
  27.         /// 发件人邮箱密码
  28.         /// </summary>
  29.         public string FromEmailPassword;
  30.         /// <summary>
  31.         /// 邮件主题
  32.         /// </summary>
  33.         public string EmailSubject;
  34.         /// <summary>
  35.         /// 邮件内容
  36.         /// </summary>
  37.         public string EmailBody;
  38.         /// <summary>
  39.         /// 发件人姓名
  40.         /// </summary>
  41.         public string EmailPersonName;
  42.         /// <summary>
  43.         /// SMTP主机名称
  44.         /// 例:Gmail为smtp.gmail.com
  45.         /// </summary>
  46.         public string EmailHostName;
  47.         /// <summary>
  48.         /// 邮件优先级:high(高)、low(低)、normal(正常)
  49.         /// 默认为high
  50.         /// </summary>
  51.         public string EmailPriority;
  52.         /// <summary>
  53.         /// 邮箱端口号
  54.         /// 例:Gmail为587,一般为25
  55.         /// </summary>
  56.         public int EmailPort;
  57.         /// <summary>
  58.         /// 邮件是否加密:true(加密),false(不加密)
  59.         /// 默认为true
  60.         /// </summary>
  61.         public bool isEnableSsl;
  62.         /// <summary>
  63.         /// 邮件内容是否为HTML格式(true加密,false不加密),默认为false
  64.         /// </summary>
  65.         public bool isBodyHtml;
  66.         /// <summary>
  67.         /// 邮件编码类型:UTF7、UTF8(推荐)、UTF32、ASCII和Default.
  68.         /// </summary>
  69.         public string EncodingType;
  70.     }
  71.     public class sendmail
  72.     {
  73.         public sendmail()
  74.         {
  75.             //
  76.             // TODO: 在此处添加构造函数逻辑
  77.             //
  78.         }
  79.         public static bool SendingEmail(EmailParms Email)
  80.         {
  81.             
  82.             System.Net.Mail.MailMessage mms = new System.Net.Mail.MailMessage();
  83.             System.Text.Encoding emaiEncodingType;
  84.             //设置邮件编码类型
  85.             switch (Email.EncodingType)
  86.             {
  87.                 case "UTF7":
  88.                     emaiEncodingType = System.Text.Encoding.UTF7;
  89.                     break;
  90.                 case "UTF8":
  91.                     emaiEncodingType = System.Text.Encoding.UTF8;
  92.                     break;
  93.                 case "UTF32":
  94.                     emaiEncodingType = System.Text.Encoding.UTF32;
  95.                     break;
  96.                 case "ASCII":
  97.                     emaiEncodingType = System.Text.Encoding.ASCII;
  98.                     break;
  99.                 default:
  100.                     emaiEncodingType = System.Text.Encoding.Default;
  101.                     break;
  102.             }
  103.             mms.To.Add(Email.ToEmailAddress);
  104.             mms.From = new System.Net.Mail.MailAddress(Email.FromEmailAddress, Email.EmailPersonName, emaiEncodingType);
  105.             mms.Subject = Email.EmailSubject;
  106.             mms.SubjectEncoding = emaiEncodingType;
  107.             mms.Body = Email.EmailBody;
  108.             mms.BodyEncoding = emaiEncodingType;
  109.             //设置邮件是否为HTML格式
  110.             if (Email.isBodyHtml == false)
  111.             {
  112.                 mms.IsBodyHtml = Email.isBodyHtml;
  113.             }
  114.             else
  115.             {
  116.                 mms.IsBodyHtml = true;
  117.             }
  118.             //设置邮件优级先级
  119.             switch (Email.EmailPriority)
  120.             {
  121.                 case "normal":
  122.                     mms.Priority = System.Net.Mail.MailPriority.Normal;
  123.                     break;
  124.                 case "low":
  125.                     mms.Priority = System.Net.Mail.MailPriority.Low;
  126.                     break;
  127.                 default:
  128.                     mms.Priority = System.Net.Mail.MailPriority.High;
  129.                     break;
  130.             }
  131.             System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
  132.             client.Credentials = new System.Net.NetworkCredential(Email.FromEmailAddress, Email.FromEmailPassword);
  133.             client.Port = Email.EmailPort;
  134.             client.Host = Email.EmailHostName;
  135.             client.EnableSsl = Email.isEnableSsl;
  136.             try
  137.             {
  138.                 client.Send(mms);
  139.                 return true;
  140.             }
  141.             catch (Exception ex)
  142.             {
  143.                 return false;
  144.             }
  145.         }
  146.     }
  147. }

 

使用方法:

 

  1.         EmailParms mailstr = new EmailParms();
  2.         mailstr.EmailBody = "aaaa";
  3.         mailstr.EmailHostName = "smtp.XXXX.com";
  4.         mailstr.EmailPersonName = "admin";
  5.         mailstr.EmailPort = 25;
  6.         mailstr.EmailPriority = "high";
  7.         mailstr.EmailSubject = "主题";
  8.         mailstr.EncodingType = "UTF8";
  9.         mailstr.FromEmailAddress = "a@a.com";
  10.         mailstr.FromEmailPassword = "1111111";
  11.         mailstr.isBodyHtml = false;
  12.         mailstr.isEnableSsl = false;
  13.         mailstr.ToEmailAddress = "b@b.com";
  14.         sendmail.SendingEmail(mailstr);

 

使用时候注意:

有时候防火墙会拦截邮件。需要在防火墙里设置端口开放,用那个就开发那个。不要频繁大范围的发送邮件,负责机房很快就会把你服务器的相关端口给封闭的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值