1:创建SendMail类

2:调用方法

SendMail send = new SendMail("123456@qq.com", "123456@163.com", "邮件内容测试", "邮件标题测试", "mail20181224");
send.Attachments(@"D:\\工作\\abc.txt");
send.Attachments(@"D:\\工作\\123.txt");
send.Send();

---------------------------------------------------------------------------------------------------下面是类-------------------------------------------------------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail;
using System.Net.Mime;

/// <summary>
/// SendMail 的摘要说明
/// </summary>
public class SendMail
{
private MailMessage mailMessage;
private SmtpClient smtpClient;
private string password;//发件人密码 
/// <summary> 
/// 处审核后类的实例 
/// </summary> 
/// <param name="To">收件人地址</param> 
/// <param name="From">发件人地址</param> 
/// <param name="Body">邮件正文</param> 
/// <param name="Title">邮件的主题</param> 
/// <param name="Password">发件人密码</param>
public SendMail(string To, string From, string Body, string Title, string Password)
{
mailMessage = new MailMessage();
mailMessage.To.Add(To);
mailMessage.From = new System.Net.Mail.MailAddress(From);
mailMessage.Subject = Title;
mailMessage.Body = Body;
mailMessage.IsBodyHtml = true;
mailMessage.BodyEncoding = System.Text.Encoding.UTF8;
mailMessage.Priority = System.Net.Mail.MailPriority.Normal;
this.password = Password;
}
/// <summary> 
/// 添加附件 
/// </summary> 
public void Attachments(string Path)
{
string[] path = Path.Split(',');
Attachment data;
ContentDisposition disposition;
for (int i = 0; i < path.Length; i++)
{
data = new Attachment(path[i], MediaTypeNames.Application.Octet);//实例化附件 
disposition = data.ContentDisposition;
disposition.CreationDate = System.IO.File.GetCreationTime(path[i]);//获取附件的创建日期 
disposition.ModificationDate = System.IO.File.GetLastWriteTime(path[i]);//获取附件的修改日期 
disposition.ReadDate = System.IO.File.GetLastAccessTime(path[i]);//获取附件的读取日期 
mailMessage.Attachments.Add(data);//添加到附件中 
}
}
/// <summary> 
/// 异步发送邮件 
/// </summary> 
/// <param name="CompletedMethod"></param> 
public void SendAsync(SendCompletedEventHandler CompletedMethod)
{
if (mailMessage != null)
{
smtpClient = new SmtpClient();
smtpClient.Credentials = new System.Net.NetworkCredential(mailMessage.From.Address, password);//设置发件人身份的票据 
smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtpClient.Host = "smtp." + mailMessage.From.Host;
smtpClient.SendCompleted += new SendCompletedEventHandler(CompletedMethod);//注册异步发送邮件完成时的事件 
smtpClient.SendAsync(mailMessage, mailMessage.Body);
}
}
/// <summary> 
/// 发送邮件 
/// </summary> 
public void Send()
{
if (mailMessage != null)
{
smtpClient = new SmtpClient();
smtpClient.Credentials = new System.Net.NetworkCredential(mailMessage.From.Address, password);//设置发件人身份的票据 
smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtpClient.Host = "smtp." + mailMessage.From.Host;
smtpClient.Send(mailMessage);
}
}
}

转载于:https://www.cnblogs.com/missheyo/p/10234433.html

c#发送邮件,可发送多个附件相关推荐

  1. Python3实现发送邮件、发送图片、附件等

    生成QQ邮箱授权码 点击开启,然后按照提示短信验证即可.PS:友情提示,珍爱生命,远离网易163- 简单邮件发送 # coding=utf-8 import smtplib from email.mi ...

  2. Python调用outlook发送邮件,发送给多人、抄送给多人并带上附件

    我的报告目录 具体解释在代码中有详细注释 import win32com.client as win32 import datetime, osaddressee = 'test01@qq.com'+ ...

  3. jenkins发送allure测试报告附件

    参考地址: jenkins发送allure测试报告附件 - iread9527 - 博客园 jenkins发送邮件添加附件_语语嫣嫣-CSDN博客 window下jenkins+allure+邮箱发送 ...

  4. SpringBoot发送邮件(二)发送包含图片的邮件

    前言:使用发邮件这个功能不难,但是也有一些坑,下面我把开发邮件功能总结了一下分享给大家,同时为了避免篇幅过长,导致大家看的不仔细或看一半不想看了,我将这个功能细分了一下,写了好几篇供大家各取所需. S ...

  5. postman + node-red 发送e-mail(附件、抄送、密送)

    postman 调用 node-red发送邮件 node-red发送e-mail 环境准备 Postman参数参考 node-red节点参考 邮件发送成功截图 node-red源文件 node-red ...

  6. 用simple mapi 发送一个带附件的邮件

    使用 MAPI 实现邮件发送 原 作:deltacat,修改中 最后更新:2004.09.16 版权声明:随意转载,敬请保持文档及说明完整性 关键字: VC 邮件发送 MAPI 一.简述 实际上,本文 ...

  7. Python数据分析实战【六】:用Python实现自动发送邮件和发送钉钉消息【文末源码地址】

    目录 发送邮件源码 发送钉钉消息源码 源码地址 本文可以学习到以下内容: 使用requests库发送钉钉消息 使用email和smtplib库发送邮件 使用163邮箱服务,自动发送邮件及附件 发送邮件 ...

  8. 封装Email发送多个附件以及多个发件人随机发送(附带一些微小注意点)

    封装Email发送多个附件以及多个发件人随机发送 1.多个发件人进行随机选取 2.多个附近发送 代码铺设 //appendixs 多个附件*(路径)//from(多个发件人-随机发送)//toFrom ...

  9. 【Mail小技巧】如何使用Python优雅的发送带有pdf附件的电子邮件(含源代码,小白也会用!)

    如何使用Python优雅的发送电子邮件(含源代码,小白也会用!) 前言 一.如何使用Python发送电子邮件? 二.使用步骤 1. 配置邮箱参数 2.发送带有pdf附件邮件完整源码(含演示代码) 总结 ...

  10. SpringBoot实现发送邮件、发送微信公众号推送

    SpringBoot实现发送邮件.发送微信公众号推送 文章目录 SpringBoot实现发送邮件.发送微信公众号推送 SpringBoot实现发送邮件 pom.xml application.yml ...

最新文章

  1. 图解:电商支付架构设计
  2. 从α到μ:DeepMind棋盘游戏AI进化史
  3. Talk O/RM (DAL) too ...
  4. 上标3下标6算法_图解堆排序算法
  5. UITableView优化
  6. 集合之TreeMap源码分析,简单介绍什么是红黑树,SortedMap和NavigableMap之间的关系和区别
  7. facebook 邀请好友_如何查看紧急情况下您的Facebook朋友是否安全
  8. Java JNI初探
  9. 群晖docker安装cms_Nas码农篇:群晖Docker安装Gitlab
  10. Failed to bind properties under mybatis-plus.configuration.result-maps[0]
  11. Linux学习笔记-消息队列的接收
  12. 一个 redis 异常访问引发 oom 的案例分析
  13. Ubuntu Linux服务器安装图形化界面并用VNC Viewer连接
  14. 中国条码解码器市场趋势报告、技术动态创新及市场预测
  15. 《必玩》!学习大师们的游戏设计经验,激发你的游戏创造力!
  16. ssm+微信小程序网易云音乐设计与实现毕业设计源码261620
  17. 利用cropper插件进行图片裁剪
  18. Protobuf简单使用
  19. 最完整的磁性材料行业现状及发展前景分析,长文预警
  20. 3ds模拟JAVA游戏_3ds模拟器Citra3ds下载

热门文章

  1. spring的定时任务schedule
  2. 零元学Expression Blend 4 - Chapter 7 什麽?影片不再是印象中的方框框!!!看Blend 4如何把影片镶入字里...
  3. URL Routing
  4. 有向图的强连通分量,割点与桥
  5. Git学习笔记与IntelliJ IDEA整合
  6. XML:DTD:Schema
  7. 余世维《职业经理人常犯的错误》[文字版]
  8. sdi线缆标准_常见的视频信号传输线缆种类及传输距离线缆有哪些?
  9. android 混音 源码,FFmpegAndroid android 端基于 FFmpeg 实现音频剪切、拼接、转码、混音、编解码;视频剪切、水印、截图、转码、编 @codeKK c开源站...
  10. go语言特性理解--变量/函数/面向对象/并发编程/错误处理