【干货】.NET开发通用组件发布(二) 邮件发送组件

时间:2021-08-14 02:59:57

组件介绍和合作开发

  http://www.cnblogs.com/MrHuo/p/MrHuoControls.html

邮件发送组件

邮件发送组件采用常用的SMTP发送方式,需要添加以下格式的配置文件。

1、配置文件:

  文件名:SMTPConfig.xml

  文件内容:

  

<?xml version="1.0" encoding="utf-8" ?>
<SMTPConfig>
  <SMTPServer>smtp.qq.com</SMTPServer>
  <UserName>491217650@qq.com</UserName>
  <UserPassword>******</UserPassword>
  <Port>25</Port>
  <EnableSsl>false</EnableSsl>
  <Encoding>UTF-8</Encoding>
  <DefaultSender>491217650@qq.com</DefaultSender>
  <DefaultSenderName>[MrHuoStudio]</DefaultSenderName>
  <IsBodyHtml>true</IsBodyHtml>
  <IsAsyncSend>true</IsAsyncSend>
</SMTPConfig>

2、使用方法:

引用名称空间:using MrHuo.Controls.Email;

3、代码:

using (EmailSender email = new EmailSender()
{
    Subject = "Email Subject",
    EmailBody = "Hello World"
})
{
    email.AddReceiver("491217650@qq.com");
    email.AddReceiver("admin@mrhuo.com");
   //这里可以添加N个邮件接收者
    email.OnBeginSend += email_OnBeginSend;
   //事件,邮件发送之前触发
    email.OnEndSend += email_OnEndSend;
   //事件,邮件发送完毕触发
    email.OnError += email_OnError;
   //事件,邮件发送出错时触发
    email.Send();
}
void email_OnError(object sender, SendEmailFaildEventArgs e)
{
    Console.WriteLine("发送给地址【" + e.MailAddress + "】的邮件发送失败,原因:" + e.Exception.Message);
}
void email_OnBeginSend(object sender, SendEmailEventArgs e)
{
    Console.WriteLine("准备发送邮件:" + e.MailAddress);
}
void email_OnEndSend(object sender, SendEmailEventArgs e)
{
    Console.WriteLine("邮件已发送到:" + e.MailAddress);
}

其中的事件,可有可无,根据开发者自己需求开发。