1、构造附件

        static List<Attachment> BuildAttachments(List<EmailFile> files)
{
if (files == null || files.Count <= ) { return null; } List<Attachment> result = new List<Attachment>();
foreach (var obj in files)
{
try
{
byte[] buffer = Convert.FromBase64String(obj.Body);
System.IO.MemoryStream stream = new System.IO.MemoryStream(buffer, , buffer.Length); result.Add(new Attachment(stream, obj.Filename, obj.Mimetype));
}
catch { }
}
return result;
}

2、构造邮件实例,并发送

        static void SendMail(string from, string tos, string ccs, string subject, string body, List<Attachment> attachments)
{
try
{
string[] fromMails = from.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string[] toMails = tos.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string[] ccMails = ccs.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
MailMessage m = new MailMessage();
m.From = new MailAddress(fromMails[].Trim());
foreach (string to in toMails)
{
m.To.Add(to.Trim());
}
foreach (string cc in ccMails)
{
m.CC.Add(cc.Trim());
} m.Subject = subject;
m.Body = body;
m.BodyEncoding = System.Text.UnicodeEncoding.UTF8;
m.IsBodyHtml = true;
if (attachments != null && attachments.Count > )
{
foreach (var obj in attachments) { m.Attachments.Add(obj); }
}
SmtpClient client = new SmtpClient();
client.Host = _configObj.EmailHost;
client.UseDefaultCredentials = true;
if (string.IsNullOrEmpty(_configObj.EmailUser) == false && string.IsNullOrEmpty(_configObj.EmailPwd) == false)
{
client.Credentials = new System.Net.NetworkCredential(_configObj.EmailUser.Trim(), _configObj.EmailPwd.Trim());
}
client.Send(m);
}
catch (Exception ex) { throw ex; }
}

C# 发送邮件实例代码的更多相关文章

  1. phpmailer使用qq邮箱、163邮箱成功发送邮件实例代码

    以前使用qq邮箱.163服务器发送邮件,帐号直接使用密码,现在不行了,得使用授权码,简单记录下 1.首先开通POP3/SMTP服务,qq邮箱——帐号——设置,找到POP3/SMTP点开启,输入短信会有 ...

  2. thinkphp5发送邮件(实例代码 非常适合新手)

    第一步:在(https://pan.baidu.com/s/1Fq6lONHlft5D6jvOnNwtoA)下载 phpmailer.rar 解压 然后把文件放入 vendor目录下 第二步:在 ap ...

  3. C++11 变长模版和完美转发实例代码

    C++11 变长模版和完美转发实例代码 #include <memory>#include <iostream>#include <vector>#include ...

  4. PHP读取超大文件的实例代码

    数据量大带来的问题就是单个文件很大,能够打开这个文件相当不容易,记事本就不要指望了,果断死机   去年年底的各种网站帐号信息的数据库泄漏,很是给力啊,趁机也下载了几个数据库,准备学学数据分析家来分析一 ...

  5. python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容

    python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...

  6. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  7. python 发送邮件实例

    留言板回复作者邮件提醒 -----------2016-5-11 15:03:58-- source:python发送邮件实例

  8. junit基础篇、中级篇-实例代码

    学习文章: http://blog.csdn.net/andycpp/article/details/1327147 http://wenku.baidu.com/link?url=C27gDEj0l ...

  9. C#开发中使用Npoi操作excel实例代码

    C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Exce ...

随机推荐

  1. lvm基础

    一.简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写. LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬 ...

  2. java基础学习总结四(控制语句<顺序、选择、循环>、方法)

    一:结构控制语句 结构控制语句分为3种,顺序语句.选择语句.循环语句. 1:顺序语句 就是自上而下的执行程序,默认执行顺序. 2:选择语句 if结构语句:如果满足条件,则执行该语句. if...els ...

  3. 给Chrome和Firefox添加js脚本作为插件的方法

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/5973141. ...

  4. [转]ASP.NET MVC Select List Example

    本文转自:http://www.aspnetmvcninja.com/views/asp-net-mvc-select-list-example Select lists are a great wa ...

  5. [转].net 调用oracle存储过程返回多个记录集

    本文转自:http://www.netwinform.com/articleinfo.aspx?id=17 存储过程: CREATE OR REPLACE PROCEDURE p_query_cs ( ...

  6. 最佳vim技巧

    最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim ...

  7. Sql 基于列的Case表达式

    Case表达式可以用在 Select,update ,delete ,set,in,where ,order by,having子句之后, 只是case表达式不能控制sql程序的流程,只能作为基于列的 ...

  8. SSH无密码登陆问题解决

    转载 http://my.oschina.net/hunzi/blog/10687 安装好Cygwin后,SSH需要设置为无密码登陆, 首先查看是ssh还是ssh2:ls -l `which ssh` ...

  9. 我的第一个html页面

    <!DOCTYPE html><meta charset="UTF-8"><title>第一个html5界面</title>< ...

  10. 使用FreeMarker生成静态HTML

    1.FreeMarker需要添加的Maven依赖: <dependency> <groupId>org.freemarker</groupId> <artif ...