博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
邮件发送案例
阅读量:6899 次
发布时间:2019-06-27

本文共 3861 字,大约阅读时间需要 12 分钟。

using System;

using System.Collections.Generic;
using System.Net.Mail;
using System.Text;

namespace Mail

{
public class MailHelper
{
/// <summary>
/// 邮件发送
/// </summary>
/// <param name="mailFrom">发件人信息</param>
/// <param name="listMailTo">收件人信息</param>
/// <param name="listMailCC">抄送人信息</param>
/// <param name="listMailBcc">密码送人信息</param>
/// <param name="strSubject">标题</param>
/// <param name="strBody">内容</param>
/// <param name="listAttachment">附件</param>
public void SendMail(MainFrom mailFrom, List<MailTo> listMailTo,List<MailCC> listMailCC,List<MailBcc> listMailBcc,string strSubject, string strBody, List<Attachments> listAttachment)
{
MailMessage mailMsg = new MailMessage();
//邮件的发件人
MailAddress from = new MailAddress(mailFrom.MailFromAddress, mailFrom.MailFromDisplayName, System.Text.Encoding.GetEncoding("GB2312"));
mailMsg.From = from;

//设置邮件的收件人

foreach (var item in listMailTo)
{
MailAddress to = new MailAddress(item.MailToAddress,item.MailToDisplayName);
mailMsg.To.Add(to);
}

//设置抄送人

foreach (var item in listMailCC)
{
MailAddress cc = new MailAddress(item.MailCCAddress,item.MailCCDisplayName);
mailMsg.CC.Add(cc);
}
foreach (var item in listMailBcc)
{
MailAddress bcc = new MailAddress(item.MailBccAddress,item.MailBccDisplayName);
mailMsg.CC.Add(bcc);
}
mailMsg.Subject = strSubject;
mailMsg.Body = strBody;
foreach (var item in listAttachment)
{
mailMsg.Attachments.Add(new Attachment(item.AttachmentPath));
}
mailMsg.IsBodyHtml = true;
mailMsg.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");
mailMsg.Priority = MailPriority.Normal;
mailMsg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;

//邮件发送服务器

SmtpClient client = new SmtpClient();
client.Host = "mail.lenovots.com";
//设置用于 SMTP 事务的端口,默认的是 25
//client.Port = 25;
client.UseDefaultCredentials = false;
//发件人邮箱登陆名和密码
client.Credentials = new System.Net.NetworkCredential("发件人邮箱地址", "发件人邮箱密码");
client.DeliveryMethod = SmtpDeliveryMethod.Network;

//发送邮件

client.Send(mailMsg);
}
}

#region 发件人信息

public class MainFrom {
private string _mailFromAddress;
/// <summary>
/// 发件人邮箱地址
/// </summary>
public string MailFromAddress
{
get { return _mailFromAddress; }
set { _mailFromAddress = value; }
}
private string _mailFromDisplayName;
/// <summary>
/// 发件人显示名称
/// </summary>
public string MailFromDisplayName
{
get { return _mailFromDisplayName; }
set { _mailFromDisplayName = value; }
}
}
#endregion

#region 收件人信息

public class MailTo {
private string _mailToAddress;
/// <summary>
/// 收件人地址
/// </summary>
public string MailToAddress
{
get { return _mailToAddress; }
set { _mailToAddress = value; }
}
private string _mailToDisplayName;
/// <summary>
/// 收件人显示名称
/// </summary>
public string MailToDisplayName
{
get { return _mailToDisplayName; }
set { _mailToDisplayName = value; }
}
}
#endregion

#region 抄送人信息

public class MailCC {
private string _mailCC;
/// <summary>
/// 抄送人地址
/// </summary>
public string MailCCAddress
{
get { return _mailCC; }
set { _mailCC = value; }
}
private string _mailCCDisplayName;
/// <summary>
/// 抄送人显示名称
/// </summary>
public string MailCCDisplayName
{
get { return _mailCCDisplayName; }
set { _mailCCDisplayName = value; }
}
}
#endregion

#region 密送人信息

public class MailBcc {
private string _mailBccAddress;
/// <summary>
/// 密送人地址
/// </summary>
public string MailBccAddress
{
get { return _mailBccAddress; }
set { _mailBccAddress = value; }
}
private string _mailBccDisplayName;
/// <summary>
/// 密送人显示名称
/// </summary>
public string MailBccDisplayName
{
get { return _mailBccDisplayName; }
set { _mailBccDisplayName = value; }
}
}
#endregion

#region 附件信息

public class Attachments {
private string _attachmentPath;
/// <summary>
/// 附件路径
/// </summary>
public string AttachmentPath
{
get { return _attachmentPath; }
set { _attachmentPath = value; }
}
}
#endregion

转载于:https://www.cnblogs.com/chengeng/p/5659718.html

你可能感兴趣的文章
返回json对象
查看>>
什么是Docker Volume?
查看>>
将文本文件转为html文件
查看>>
margin合并
查看>>
java学习思维导图
查看>>
数组取别名
查看>>
SQL--Advanced tutorials
查看>>
ubuntu一键安装LAMP 及一键卸载
查看>>
关于mysql数据库
查看>>
1、Intellij idea快捷键设置
查看>>
网页设计之字体和 CSS 调整
查看>>
纯键盘开发实战(Mouseless Programming)
查看>>
oracle闪回数据库在dataguard中的使用
查看>>
Android核心分析28篇,强烈推荐android初学者,android进阶者看看这个系列教程
查看>>
css_兼容IE和FF的写法
查看>>
git中报错unable to auto-detect email address 解决办法
查看>>
“跨库分页”的四种方案
查看>>
nginx防盗链、访问控制、PHP解析、服务器代理
查看>>
解决微信web开发工具(当前系统不是安全代理,是否信任?)
查看>>
jQuery Ajax 讲解(总结)
查看>>