首页 / 邮件 / C# 163邮箱发送 附件以及邮件信息
C# 163邮箱发送 附件以及邮件信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 163邮箱发送 附件以及邮件信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3391字,纯文字阅读大概需要5分钟。
内容图文
![C# 163邮箱发送 附件以及邮件信息](/upload/InfoBanner/zyjiaocheng/1161/e98a047ba27943d4b61cd303d2d94596.jpg)
public static bool SendEmail(EmailInfo mailInfo) { try { MailMessage mailMsg = new MailMessage(); mailMsg.To.Add(new MailAddress(mailInfo.ToAddress)); mailMsg.From = new MailAddress(mailInfo.FromAddress, mailInfo.DisplayName); mailMsg.Subject = mailInfo.Subject; mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(mailInfo.Body, Encoding.UTF8, MediaTypeNames.Text.Html)); SmtpClient smtpClient = new SmtpClient(mailInfo.SmtpHost, mailInfo.SmtpPort); System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(mailInfo.SmtpUserName, mailInfo.SmtpPassword); smtpClient.Credentials = credentials; if (!string.IsNullOrEmpty(mailInfo?.filename) && mailInfo?.stream != null) { mailMsg.Attachments.Add(new Attachment(mailInfo.stream, mailInfo.filename)); } smtpClient.Send(mailMsg); } catch (Exception ex) { returnfalse; } returntrue; }
public class EmailInfo { /// <summary> /// 收件人地址 /// </summary> public string ToAddress { get; set; } ///<summary>/// 发件人地址 ///</summary>publicstring FromAddress { get; set; } ///<summary>/// 显示名称 ///</summary>publicstring DisplayName { get; set; } ///<summary>/// 邮件主题 ///</summary>publicstring Subject { get; set; } ///<summary>/// SMTP服务器地址 ///</summary>publicstring SmtpHost { get; set; } ///<summary>/// SMTP服务器端口 ///</summary>publicint SmtpPort { get; set; } ///<summary>/// SMTP服务器用户名 ///</summary>publicstring SmtpUserName { get; set; } ///<summary>/// SMTP服务器密码 ///</summary>publicstring SmtpPassword { get; set; } ///<summary>/// 邮件正文内容 ///</summary>publicstring Body { get; set; } ///<summary>/// 附件 附件名字必填 ///</summary>public Stream stream { get; set; } ///<summary>/// 附件名字:带后缀的 ///</summary>publicstring filename { get; set; } }
附件依赖于 NPOI
publicstatic MemoryStream ExportCompanyOrder() { List<car_company_orderEntity> list = new List<car_company_orderEntity>(); for (int i = 0; i < 100; i++) { list.Add(new car_company_orderEntity() { car_company_order_id = i, company_name = "测试" + i }); } //创建Excel文件的对象 NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); //添加一个sheet NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1"); //给sheet1添加第一行的头部标题 NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0); row1.CreateCell(0).SetCellValue("ID"); row1.CreateCell(1).SetCellValue("授权商名称"); //将数据逐步写入sheet1各个行for (int i = 0; i < list.Count(); i++) { NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1); rowtemp.CreateCell(0).SetCellValue(list[i]?.car_company_order_id.ToString()); //ID rowtemp.CreateCell(1).SetCellValue(list[i]?.company_name); //授权商名称 } // 写入到客户端 System.IO.MemoryStream ms = new System.IO.MemoryStream(); book.Write(ms); ms.Seek(0, SeekOrigin.Begin); return ms; }
var mailInfo = new EmailInfo(); mailInfo.SmtpHost = "smtp.163.com"; //mailInfo.SmtpPort = 25; mailInfo.SmtpUserName = "ichengq@163.com"; mailInfo.SmtpPassword = "cheng1993"; mailInfo.DisplayName = "智领"; mailInfo.FromAddress = "ichengq@163.com"; mailInfo.ToAddress = "41753655@qq.com"; mailInfo.Subject = "测试"; mailInfo.Body = "测试的啊 "; mailInfo.filename = "111.xls"; mailInfo.stream = ExportCompanyOrder(); var aa = SendEmail(mailInfo);
demo 用来测试,以及发送。 注意:163后端需要在 开启客户端授权密码
原文:https://www.cnblogs.com/ichengq/p/10679232.html
内容总结
以上是互联网集市为您收集整理的C# 163邮箱发送 附件以及邮件信息全部内容,希望文章能够帮你解决C# 163邮箱发送 附件以及邮件信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。