SMTP email from C#
/// <summary>
/// 一人一附件发送邮件
/// 2017-05-17 涂聚文 GeovinDu
/// </summary>
/// <param name="To">接收邮件人</param>
/// <param name="Subject">邮件标题</param>
/// <param name="Msg">邮件内容</param>
/// <param name="bodyHtml">是否網頁</param>
/// <param name="AttachmentStream"></param>
/// <param name="AttachmentFileName">附件</param>
/// <returns></returns>
public static bool SendEmaildu(string To, string Subject, string Msg, bool bodyHtml, MemoryStream AttachmentStream,string AttachmentFileName)
{
bool SendOk = false;
try
{
System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
newMsg.BodyEncoding = System.Text.Encoding.UTF8;
newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
newMsg.SubjectEncoding = System.Text.Encoding.UTF8; System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
//smtpClient.Credentials = new NetworkCredential("geovindu@dusystem.com","888888");
//smtpClient.Port = 25;
//smtpClient.EnableSsl = false;
if (AttachmentStream != null && AttachmentFileName != null)
{ // ADD AN ATTACHMENT.
//String sFile = @"C:\Source\LNS_IS.TXT";
//MailAttachment oAttch = new MailAttachment(sFile, MailEncoding.Base64);
//string filePath = @"C:\TestEmail\SKYPE11月黑咭生日會員.xls";
//MemoryStream memStream = new MemoryStream();
//using (FileStream fileStream = File.OpenRead(filePath))
//{ // memStream.SetLength(fileStream.Length);
// fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
//} newMsg.Attachments.Add(new Attachment(AttachmentStream, AttachmentFileName)); //MediaTypeNames.Image.Jpeg) //System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentStream, AttachmentFileName);
//System.Net.Mime.ContentDisposition disposition = attachment.ContentDisposition;
//disposition.FileName = AttachmentFileName;
//disposition.DispositionType = System.Net.Mime.DispositionTypeNames.Attachment;
//newMsg.Attachments.Add(attachment); }
newMsg.IsBodyHtml = bodyHtml; smtpClient.Send(newMsg);
SendOk = true;
//return SENT_OK;
}
catch (Exception ex)
{
ex.Message.ToString();
AttachmentStream.Close();
SendOk = false;
//"Error: " + ex.Message + "<br/><br/>Inner Exception: "+ ex.InnerException; }
AttachmentStream.Close();
return SendOk; }
/// <summary>
/// 一人一附件发送邮件
/// 2017-05-17 涂聚文 GeovinDu
/// </summary>
/// <param name="To">接收邮件人</param>
/// <param name="Subject">邮件标题</param>
/// <param name="Msg">邮件内容</param>
/// <param name="bodyHtml">是否網頁</param>
/// <param name="AttachmentFileName">附件</param>
/// <returns></returns>
public static bool SendEmaildu(string To, string Subject, string Msg, bool bodyHtml, string AttachmentFileName)
{
MemoryStream AttachmentStream = new MemoryStream();
bool SendOk = false;
try
{
System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
newMsg.BodyEncoding = System.Text.Encoding.UTF8;
newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
newMsg.SubjectEncoding = System.Text.Encoding.UTF8; System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
//smtpClient.Credentials = new NetworkCredential("geovindu@dusystem.com","888888");
//smtpClient.Port = 25;
//smtpClient.EnableSsl = false;
if (AttachmentStream != null && AttachmentFileName != null)
{ // ADD AN ATTACHMENT.
//String sFile = @"C:\Source\LNS_IS.TXT";
//MailAttachment oAttch = new MailAttachment(sFile, MailEncoding.Base64);
//string filePath = @"C:\TestEmail\SKYPE11月黑咭生日會員.xls";
//MemoryStream memStream = new MemoryStream();
//using (FileStream fileStream = File.OpenRead(filePath))
//{ // memStream.SetLength(fileStream.Length);
// fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
//} newMsg.Attachments.Add(new Attachment(AttachmentStream, AttachmentFileName)); //MediaTypeNames.Image.Jpeg) //System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(AttachmentStream, AttachmentFileName);
//System.Net.Mime.ContentDisposition disposition = attachment.ContentDisposition;
//disposition.FileName = AttachmentFileName;
//disposition.DispositionType = System.Net.Mime.DispositionTypeNames.Attachment;
//newMsg.Attachments.Add(attachment); }
newMsg.IsBodyHtml = bodyHtml;
smtpClient.Send(newMsg);
SendOk = true;
//return SENT_OK;
}
catch (Exception ex)
{
ex.Message.ToString();
AttachmentStream.Close();
SendOk = false;
//"Error: " + ex.Message + "<br/><br/>Inner Exception: "+ ex.InnerException; }
AttachmentStream.Close();
return SendOk; } /// <summary>
/// 一人多附件发送邮件
/// 2019-06-18 涂聚文 GeovinDu
/// </summary>
/// <param name="To">接收邮件人</param>
/// <param name="Subject">邮件标题</param>
/// <param name="Msg">邮件内容</param>
/// <param name="bodyHtml">是否網頁</param>
/// <param name="AttachmentFiles">多附件</param>
/// <returns></returns>
public static bool SendEmailduFiles(string To, string Subject, string Msg, bool bodyHtml, List<string> AttachmentFiles)
{
MemoryStream AttachmentStream = new MemoryStream();
bool SendOk = false;
try
{
System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
newMsg.BodyEncoding = System.Text.Encoding.UTF8;
newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
newMsg.SubjectEncoding = System.Text.Encoding.UTF8; System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
//smtpClient.Credentials = new NetworkCredential("geovindu@dusystem.com","888888");
//smtpClient.Port = 25;
//smtpClient.EnableSsl = false; if (AttachmentStream != null && AttachmentFiles != null)
{ foreach (string filename in AttachmentFiles)
{
newMsg.Attachments.Add(new Attachment(AttachmentStream, filename)); //MediaTypeNames.Image.Jpeg) } }
newMsg.IsBodyHtml = bodyHtml;
smtpClient.Send(newMsg);
SendOk = true;
}
catch (Exception ex)
{
ex.Message.ToString();
AttachmentStream.Close();
SendOk = false;
}
AttachmentStream.Close();
return SendOk;
} /// <summary>
/// 多人多附件发送邮件
/// 不考虑统计每封邮件发送状态(另外考虑完善代码)
/// 2019-06-18 涂聚文 GeovinDu
/// </summary>
/// <param name="Tos">多人接收邮件人</param>
/// <param name="Subject">邮件标题</param>
/// <param name="Msg">邮件内容</param>
/// <param name="bodyHtml">是否網頁</param>
/// <param name="AttachmentFiles">多附件</param>
/// <returns></returns>
public static bool SendEmailsAndFiles(List<string> Tos, string Subject, string Msg, bool bodyHtml, List<string> AttachmentFiles)
{
MemoryStream AttachmentStream = new MemoryStream();
bool SendOk = false;
List<Attachment> all = new List<Attachment>();
try
{
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (string filename in AttachmentFiles)
{ all.Add(new Attachment(AttachmentStream, filename));
}
}
if (Tos.Count > 0)
{ foreach (string To in Tos)
{
System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
newMsg.BodyEncoding = System.Text.Encoding.UTF8;
newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
newMsg.SubjectEncoding = System.Text.Encoding.UTF8;
System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
//smtpClient.Credentials = new NetworkCredential("geovindu@dusystem.com","888888");
//smtpClient.Port = 25;
//smtpClient.EnableSsl = false;
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (Attachment attname in all)
{
newMsg.Attachments.Add(attname); //MediaTypeNames.Image.Jpeg) }
}
newMsg.IsBodyHtml = bodyHtml;
smtpClient.Send(newMsg);
SendOk = true;
}
}
}
catch (Exception ex)
{
ex.Message.ToString();
AttachmentStream.Close();
SendOk = false;
}
AttachmentStream.Close();
return SendOk;
}
测试代码:
MemoryStream theMemStream = new MemoryStream();
string file = @"C:\TestEmail\SKYPE11月黑咭生日會員.xls"; //C:\TestEmail\Top1000WorldBanks2014.pdf
if (File.Exists(file))
{
//AttachmentStream = File.Open(file, FileMode.Open, FileAccess.Read); byte[] filebyte = MirosoftSmptHelper.ReadFile(file); theMemStream.Write(filebyte, 0, filebyte.Length);// = File.OpenRead(file);
theMemStream.Position = 0; //theMemStream.Close(); // AttachmentStream = theMemStream;// BytesToStream(filebyte); //new MemoryStream(filebyte);// // BytesToStream(filebyte);// FileToStream(file);// //AttachmentStream.CanTimeout =true;
//AttachmentStream.ReadTimeout = 1000;
//AttachmentStream.WriteTimeout = 1000;
//AttachmentStream = BytesToStream(filebyte); //theMemStream.Close();
}
List<string> AttachmentFiles = new List<string>();
AttachmentFiles.Add("馬拉松獎牌刻字.xlsx");
AttachmentFiles.Add("进一步优化供给推动消费平稳增长2019.pdf");
AttachmentFiles.Add("逃犯条例草案.pdf");
AttachmentFiles.Add("复习卷14.doc");
List<string> Tos = new List<string>();
Tos.Add("geovindu@163.com");
Tos.Add("geovindu@hotmail.com");
Tos.Add("geovi@qq.com"); //1.一人一附件
//bool issend = MirosoftSmptHelper.SendEmaildu("geovindu@163.com", "中文文件名.net 4.0,geovindu 涂聚文塗聚文工團、", "<p> 生命運浪漫滿屋geovindu江蘇黃河</p><br/><p>上官放個屁,下官一台戲</p>", true,"馬拉松獎牌刻字.xlsx");
//2.一人多附件
//bool issend = MirosoftSmptHelper.SendEmailduFiles("geovindu@163.com", "中文文件名.net 4.0,geovindu 涂聚文塗聚文工團、", "<p> 生命運浪漫滿屋geovindu江蘇黃河</p><br/><p>上官放個屁,下官一台戲</p>", true, AttachmentFiles);
//3.多人多附件
bool issend = MirosoftSmptHelper.SendEmailsAndFiles(Tos, "中文文件名.net 4.0,geovindu 涂聚文塗聚文工團、", "<p> 生命運浪漫滿屋geovindu江蘇黃河</p><br/><p>上官放個屁,下官一台戲</p>", true, AttachmentFiles);
theMemStream.Close();
if (issend)
{
MessageBox.Show("ok");
}
else
{
MessageBox.Show("no");
}
}
不忘初心,方得始终;初心易得,始终难守。
/// <summary>
/// 多人多附件发送邮件
/// 不考虑统计每封邮件发送状态(另外考虑完善代码)
/// 2019-06-18 涂聚文 GeovinDu
/// 2019-07-01
/// </summary>
/// <param name="Tos">多人接收邮件人</param>
/// <param name="Subject">邮件标题</param>
/// <param name="Msg">邮件内容</param>
/// <param name="bodyHtml">是否網頁</param>
/// <param name="AttachmentFiles">多附件--具体文件地址</param>
/// <returns></returns>
public static bool SendEmailsAndFiles(List<string> Tos, string Subject, string Msg, bool bodyHtml, List<string> AttachmentFiles)
{
MemoryStream AttachmentStream = new MemoryStream();
bool SendOk = false;
List<Attachment> all = new List<Attachment>();
try
{
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (string filename in AttachmentFiles)
{
Attachment attachment = new Attachment(filename, MediaTypeNames.Application.Octet); // //AttachmentStream, filename
ContentDisposition disposition = attachment.ContentDisposition;
disposition.CreationDate = File.GetCreationTime(filename);
disposition.ModificationDate = File.GetLastWriteTime(filename);
disposition.ReadDate = File.GetLastAccessTime(filename);
disposition.FileName = Path.GetFileName(filename);
disposition.Size = new FileInfo(filename).Length;
disposition.DispositionType = DispositionTypeNames.Attachment;
all.Add(attachment); //new Attachment(AttachmentStream, filename)
}
}
if (Tos.Count > 0)
{ foreach (string To in Tos)
{
System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
newMsg.BodyEncoding = System.Text.Encoding.UTF8;
newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
newMsg.SubjectEncoding = System.Text.Encoding.UTF8;
System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
//smtpClient.Credentials = new NetworkCredential("geovindu@dusystem.com","888888");
//smtpClient.Port = 25;
//smtpClient.EnableSsl = false;
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (Attachment attname in all)
{ newMsg.Attachments.Add(attname); //MediaTypeNames.Image.Jpeg) }
}
newMsg.IsBodyHtml = bodyHtml;
smtpClient.Send(newMsg);
SendOk = true;
}
}
}
catch (Exception ex)
{
ex.Message.ToString();
AttachmentStream.Close();
SendOk = false;
}
AttachmentStream.Close();
return SendOk;
} /// <summary>
/// 多人多附件发送邮件
/// 不考虑统计每封邮件发送状态(另外考虑完善代码)
/// 2019-07-01 涂聚文 GeovinDu
/// </summary>
/// <param name="Tos">多人接收邮件人</param>
/// <param name="Subject">邮件标题</param>
/// <param name="Msg">邮件内容</param>
/// <param name="bodyHtml">是否網頁</param>
/// <param name="AttachmentFiles">多附件--根据运行程序目录地址</param>
/// <returns></returns>
public static bool SendEmailsAndLocalFiles(List<string> Tos, string Subject, string Msg, bool bodyHtml, List<string> AttachmentFiles)
{
MemoryStream AttachmentStream = new MemoryStream();
bool SendOk = false;
List<Attachment> all = new List<Attachment>();
try
{
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (string filename in AttachmentFiles)
{
//具体的文件地址,用此法
//Attachment attachment = new Attachment(filename, MediaTypeNames.Application.Octet); // //AttachmentStream, filename
//ContentDisposition disposition = attachment.ContentDisposition;
//disposition.CreationDate = File.GetCreationTime(filename);
//disposition.ModificationDate = File.GetLastWriteTime(filename);
//disposition.ReadDate = File.GetLastAccessTime(filename);
//disposition.FileName = Path.GetFileName(filename);
//disposition.Size = new FileInfo(filename).Length;
//disposition.DispositionType = DispositionTypeNames.Attachment;
all.Add(new Attachment(AttachmentStream, filename));//在运行程序的目录的文件没有问题,可执行。如是不是此语言件地址,附件无效
}
}
if (Tos.Count > 0)
{ foreach (string To in Tos)
{
System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], To, Subject, Msg);
newMsg.BodyEncoding = System.Text.Encoding.UTF8;
newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
newMsg.SubjectEncoding = System.Text.Encoding.UTF8;
System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
//smtpClient.Credentials = new NetworkCredential("geovindu@dusystem.com","888888");
//smtpClient.Port = 25;
//smtpClient.EnableSsl = false;
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (Attachment attname in all)
{
newMsg.Attachments.Add(attname); //MediaTypeNames.Image.Jpeg) }
}
newMsg.IsBodyHtml = bodyHtml;
smtpClient.Send(newMsg);
SendOk = true;
}
}
}
catch (Exception ex)
{
ex.Message.ToString();
AttachmentStream.Close();
SendOk = false;
}
AttachmentStream.Close();
return SendOk;
}
/// <summary>
/// 20190702 多人邮件
/// geovindu 涂聚文
/// </summary>
/// <param name="Mails"></param>
/// <param name="Subject"></param>
/// <param name="Msg"></param>
/// <param name="bodyHtml"></param>
/// <param name="AttachmentFiles"></param>
/// <returns></returns>
public static bool SendEmailsFiles(List<MailAddress> Mails, string Subject, string Msg, bool bodyHtml, List<string> AttachmentFiles)
{
MemoryStream AttachmentStream = new MemoryStream();
bool SendOk = false;
List<Attachment> all = new List<Attachment>();
try
{
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (string filename in AttachmentFiles)
{
//具体的文件地址,用此法
Attachment attachment = new Attachment(filename, MediaTypeNames.Application.Octet); // //AttachmentStream, filename
ContentDisposition disposition = attachment.ContentDisposition;
disposition.CreationDate = File.GetCreationTime(filename);
disposition.ModificationDate = File.GetLastWriteTime(filename);
disposition.ReadDate = File.GetLastAccessTime(filename);
disposition.FileName = Path.GetFileName(filename);
disposition.Size = new FileInfo(filename).Length;
disposition.DispositionType = DispositionTypeNames.Attachment;
all.Add(attachment);//在运行程序的目录的文件没有问题,可执行。如是不是此语言件地址,附件无效
}
}
if (Mails.Count > 0)
{ int c = 1;
foreach (MailAddress ToAddress in Mails)
{ MailAddress from=new MailAddress(System.Configuration.ConfigurationManager.AppSettings["mailCfg"],System.Configuration.ConfigurationManager.AppSettings["displayName"]);
//from.DisplayName="";
// from.Address=;
System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage();
newMsg.From = from;
newMsg.To.Add(ToAddress);
newMsg.Subject = Subject;
newMsg.Body = Msg;
newMsg.BodyEncoding = System.Text.Encoding.UTF8;
newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
newMsg.SubjectEncoding = System.Text.Encoding.UTF8;
System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
//smtpClient.Credentials = new NetworkCredential("geovindu@dusystem.com","888888");
//smtpClient.Port = 25;
//smtpClient.EnableSsl = false;
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (Attachment attname in all)
{
newMsg.Attachments.Add(attname); //MediaTypeNames.Image.Jpeg)
}
}
newMsg.IsBodyHtml = bodyHtml;
//smtpClient.Send(newMsg);
smtpClient.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
string userState = "test message:"+c.ToString();
smtpClient.SendAsync(newMsg, userState);
SendOk = true;
c++;
} }
}
catch (Exception ex)
{
ex.Message.ToString();
AttachmentStream.Close();
SendOk = false;
}
AttachmentStream.Close();
return SendOk;
}
/// <summary>
/// 一人多附件
/// </summary>
/// <param name="Mails"></param>
/// <param name="Subject"></param>
/// <param name="Msg"></param>
/// <param name="bodyHtml"></param>
/// <param name="AttachmentFiles"></param>
/// <returns></returns>
public static bool SendEmailFiles(MailAddress Mails, string Subject, string Msg, bool bodyHtml, List<string> AttachmentFiles)
{
MemoryStream AttachmentStream = new MemoryStream();
bool SendOk = false;
List<Attachment> all = new List<Attachment>();
try
{
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (string filename in AttachmentFiles)
{
//具体的文件地址,用此法
Attachment attachment = new Attachment(filename, MediaTypeNames.Application.Octet); // //AttachmentStream, filename
ContentDisposition disposition = attachment.ContentDisposition;
disposition.CreationDate = File.GetCreationTime(filename);
disposition.ModificationDate = File.GetLastWriteTime(filename);
disposition.ReadDate = File.GetLastAccessTime(filename);
disposition.FileName = Path.GetFileName(filename);
disposition.Size = new FileInfo(filename).Length;
disposition.DispositionType = DispositionTypeNames.Attachment;
all.Add(attachment);//在运行程序的目录的文件没有问题,可执行。如是不是此语言件地址,附件无效
}
} MailAddress from = new MailAddress(System.Configuration.ConfigurationManager.AppSettings["mailCfg"], System.Configuration.ConfigurationManager.AppSettings["displayName"]);
//from.DisplayName="";
// from.Address=;
System.Net.Mail.MailMessage newMsg = new System.Net.Mail.MailMessage();
newMsg.From = from;
newMsg.To.Add(Mails);
newMsg.Subject = Subject;
newMsg.Body = Msg;
newMsg.BodyEncoding = System.Text.Encoding.UTF8;
newMsg.HeadersEncoding = System.Text.Encoding.UTF8;
newMsg.SubjectEncoding = System.Text.Encoding.UTF8;
System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
//smtpClient.Credentials = new NetworkCredential("geovindu@dusystem.com","888888");
//smtpClient.Port = 25;
//smtpClient.EnableSsl = false;
if (AttachmentStream != null && AttachmentFiles != null)
{
foreach (Attachment attname in all)
{
newMsg.Attachments.Add(attname); //MediaTypeNames.Image.Jpeg)
}
}
newMsg.IsBodyHtml = bodyHtml;
//smtpClient.Send(newMsg);
smtpClient.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
string userState = "test message:发送中";
smtpClient.SendAsync(newMsg, userState);
SendOk = true; }
catch (Exception ex)
{
ex.Message.ToString();
AttachmentStream.Close();
SendOk = false;
}
AttachmentStream.Close();
return SendOk;
}
测试
List<MailAddress> mails = new List<MailAddress>();
MailAddress address = null;
address = new MailAddress("geovindu@163.com", "涂聚文", Encoding.UTF8);
mails.Add(address);
address = new MailAddress("geovindu@hotmail.com", "塗聚文", Encoding.UTF8);
mails.Add(address);
address = new MailAddress("463588883@qq.com", "捷為工作室", Encoding.UTF8);
mails.Add(address);
string strMessage = string.Empty;
string subject = string.Empty; subject=txtSubject.Text.Trim();
strMessage = htmlEditUserControl1.HtmlEditControl.DocumentText; //1.一人一附件
//bool issend = MirosoftSmptHelper.SendEmaildu("geovindu@163.com", "中文文件名.net 4.0,geovindu 涂聚文塗聚文工團、", "<p> 生命運浪漫滿屋geovindu江蘇黃河</p><br/><p>上官放個屁,下官一台戲</p>", true,"馬拉松獎牌刻字.xlsx");
//2.一人多附件
//bool issend = MirosoftSmptHelper.SendEmailduFiles("geovindu@163.com", "中文文件名.net 4.0,geovindu 涂聚文塗聚文工團、", "<p> 生命運浪漫滿屋geovindu江蘇黃河</p><br/><p>上官放個屁,下官一台戲</p>", true, AttachmentFiles);
//3.多人多附件
//bool issend = MirosoftSmptHelper.SendEmailsAndFiles(Tos, subject, strMessage, true, AttachmentFiles);
bool issend = MirosoftSmptHelper.SendEmailsFiles(mails, subject, strMessage, true, AttachmentFiles);
SMTP email from C#的更多相关文章
- gerrit 调试smtp email
- 使用Python调用SMTP服务自动发送Email
需求背景 假设我们想设计一个定时任务,比如每天定时的用python来测试服务是否在正常运行,但是又不希望每天登录到系统后台去查看服务状态.这里我们就可以采取python的smtp模块进行任务结果广播, ...
- maven小项目注册服务(一)--email和persist模块
跟着书里的讲解,跟着做了一遍该项目: 首先明白注册账户的需求: 账号的lD和Email地址都可以用来唯一地标识某个用户,而显示名称则用来显示在页面下,方便浏览.注册的时候用户还需要输入两次密码,以确保 ...
- 配置 SQL Server Email 发送以及 Job 的 Notification通知功能
配置 SQL Server Email 发送以及 Job 的 Notification通知功能 在与数据库相关的项目中, 比如像数据库维护, 性能警报, 程序出错警报或通知都会使用到在 SQL Ser ...
- 自学Zabbix3.10.1.1-事件通知Notifications upon events-媒介类型email
自学Zabbix3.10.1.1-事件通知Notifications upon events-媒介类型email 配置媒介Email Administration→Media types->Cl ...
- SMTP 通过 ssh 通道发送垃圾邮件
通过SSH隧道传输SMTP 根据设计,我们不允许校外机器使用我们的SMTP服务器.如果我们允许它,我们将允许任何和所有使用我们的SMTP服务器来分发垃圾邮件.但是也可以通过我们的SMTP服务器发送邮件 ...
- (44)zabbix报警媒介:email
报警信息将会使用系统自带的sendmail发送,配置比较简单 配置媒介Email Administration→Media types->Click on Create media type ...
- Aras Innovator如何配置SMTP中转Office365
参考文档:http://www.ebdadvisors.com/blog/2015/7/31/configure-an-smtp-server-in-windows-iis-for-aras-inno ...
- Daily Build
Daily Build 是一件非常有意义的事情,也是敏捷开发中关于 “持续集成” 的一个实践.Daily Build 对于开发来说有如下好处: 保证了每次 check in 的代码可用,不会造成整个工 ...
随机推荐
- JavaScript---1.计算机的编程基础
学习内容:编程语言.计算机基础 1编程语言 程序员通过编程语言来控制计算机 编程语言:机器语言(计算机只认识机器语言).汇编语言(直接对硬件操作,指令采用英文缩写的标识符,容易记忆).高级语言(C\C ...
- 记一次MySQL数据库导入错误
昨天在转数据的时候,控制台报出了下面这个warning: Warning: Data truncated for column '控制距离' at row 1 字面上意思应该是:控制距离这一字段在第一 ...
- 堆的python实现及其应用
堆的概念 优先队列(priority queue)是一种特殊的队列,取出元素的顺序是按照元素的优先权(关键字)大小,而不是进入队列的顺序,堆就是一种优先队列的实现.堆一般是由数组实现的,逻辑上堆可以被 ...
- 教程 Redis+ flask+vue 在线聊天
知识点 基于 Server-Sent Event 工作方式,Web 即时通信 Redis 包 发布订阅功能的使用 flask 快速入门,常用对象实例方法函数 Vuejs 列表页面自动渲染 效果图 代码 ...
- fsockopen以Socket方式模拟HTTP下载文件
fsockopen 的功能很强大,比如前面模拟 HTTP 访问,模拟 POST/GET 请求,什么的,这里再举一个例子,那就是下载东西.比如下载 http://www.nowamagic.net//l ...
- Vue组件应用
Vue的组件是可复用的 Vue 实例,且带有一个名字 .我们可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用.因为组件是可复用的 Vue 实例,所以它们与 ne ...
- 高性能Web动画和渲染原理系列(1)——CSS动画和JS动画
[摘要] 介绍CSS动画和JS动画的基本特点,以及轻量级动画库velocity.js的基本用法. 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园 ...
- 本科阶段就挑战自动驾驶开发?华为云ModelArts帮你轻松实现!
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- JavaScript的函数申明、函数表达式、箭头函数
JavaScript中的函数可以通过几种方式创建,如下. // 函数声明 function getName() { return 'Michael' } // 函数表达式 const getName ...
- luogu P1850 换教室
题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n 节课程安排在 n 个时间段上.在第 i (1 ≤ i ≤ n)个时间段上,两节内容 ...