smtp发送带附件的邮件代码分享
代码 分享 发送 邮件 附件 SMTP
2023-06-13 09:15:31 时间
该方式直接保存为HTML文件,也可以是文本文件,其它格式效果不是很好
MailMessagemmsg=newMailMessage();
mmsg.Subject="邮件标题";
mmsg.Body="邮件内容";
mmsg.To.Add("accept@qq.com");//接收邮箱
byte[]bytes=System.Text.Encoding.Default.GetBytes
(@"<table><tr><tdwidth=150>1234567891234567
</td><tdwidth=80>12345678</td></tr></table>");
MemoryStreamms=newMemoryStream(bytes);
ContentTypect=newContentType();
//附件文件类型
ct.MediaType=MediaTypeNames.Text.Html;
//附件名称,可以是其它后缀名
ct.Name="附件名称"+DateTime.Now.ToString()+".html";
mmsg.Attachments.Add(newAttachment(ms,ct));
//SMTP简单邮件协议
System.Net.Mail.SmtpClientsc
=newSystem.Net.Mail.SmtpClient();
sc.Host="127.0.0.1";//主机地址
sc.Port=25;//端口
//发送邮箱账号和密码
sc.Credentials=
newSystem.Net.NetworkCredential("account","password");
//发送邮箱
mmsg.From=newMailAddress("account@qq.com");
sc.Send(mmsg);
//释放流资源
ms.Close();
ms.Dispose();
另附上一个.net使用smtp发送带附件邮件的实例
publicstaticvoidsendEmail(stringtoAddress,stringemailbody)
{
varfromAddress=ConfigurationManager.AppSettings["EmailAddress"];
stringfromPassword=ConfigurationManager.AppSettings["EmailPassword"].ToString();
conststringsubject="JobRecommendation";
varsmtp=newSmtpClient
{
Host=ConfigurationManager.AppSettings["SmtpServer"].ToString(),
Port=int.Parse(ConfigurationManager.AppSettings["SmtpPort"]),
EnableSsl=true,
DeliveryMethod=SmtpDeliveryMethod.Network,
UseDefaultCredentials=false,
Credentials=newNetworkCredential(fromAddress,fromPassword)
};
using(varmessage=newMailMessage(fromAddress,toAddress,subject,HttpUtility.HtmlEncode(emailbody)))
{
smtp.Send(message);
}
}
<addkey="EmailAddress"value="**********@gmail.com"/>//EmailAddress
<addkey="EmailPassword"value="*********"/>//EmialPWD
<addkey="SmtpServer"value="smtp.gmail.com"/>
<addkey="SmtpPort"value="587"/>
<--带附件版本->
varfromAddress="allenyinj@gmail.com";
stringfromPassword="yj1989120";
conststringsubject="CV";
varsmtp=newSmtpClient
{
Host="smtp.gmail.com",
Port=587,
EnableSsl=true,
DeliveryMethod=SmtpDeliveryMethod.Network,
UseDefaultCredentials=false,
Credentials=newNetworkCredential(fromAddress,fromPassword)
};
MailMessageemail=newMailMessage(fromAddress,"allen.yin.jun@gmail.com");
email.Subject="INLINEattachmentTEST";
email.IsBodyHtml=true;
stringattachmentPath="C:\\3.jpeg";
Attachmentinline=newAttachment(attachmentPath);
inline.ContentDisposition.Inline=true;
inline.ContentDisposition.DispositionType=DispositionTypeNames.Inline;
//inline.ContentId="1";
//inline.ContentType.MediaType="image/png";
inline.ContentType.Name=Path.GetFileName(attachmentPath);
email.Attachments.Add(inline);
email.Body="test";
smtp.Send(email);
email.Dispose();
//如果没有路径,用Stream
Attachmentletter=newAttachment(FileUploadLetter.FileContent,FileUploadLetter.PostedFile.ContentType);
letter.ContentDisposition.Inline=true;
letter.ContentDisposition.DispositionType=DispositionTypeNames.Inline;
//inline.ContentId="1";
letter.ContentType.MediaType=FileUploadLetter.PostedFile.ContentType;
letter.ContentType.Name=Path.GetFileName(FileUploadLetter.PostedFile.FileName);
letter.Name=Path.GetFileName(FileUploadLetter.PostedFile.FileName);
相关文章
- iOS小技能: 用纯代码开发界面的过程 & 图片使用的相关注意事项
- 百度分享代码–一键分享Baidu Share BEGIN
- 面试官:怎么去除 List 中的重复元素?我一行代码搞定,赶紧拿去用!
- 关键词搜索1688商品接口,1688商品列表接口,1688商品销量排序接口,1688商品价格排序接口代码分享
- 雷军写的代码像诗一样优雅,我有最全中文诗歌古典文集数据库
- 2023美赛C题思路(30min视频讲解+文档思路)+c题完整代码【源码分享】
- 数据分享|R语言用RFM、决策树模型顾客购书行为的数据预测|附代码数据
- 【前端探索】告别烂代码第二期!用策略模式封装分享组件
- Java获得硬盘和主板的序列号代码详解编程语言
- C语言代码规范(编程规范)
- MySQL实现无代码更改自动分表(mysql不修改代码分表)
- 让广告代码不再影响你的网页加载速度
- 一个用js实现的页内搜索代码
- js中的escape及unescape函数的php实现代码
- 遍历jquery对象的代码分享
- 超级实用的7个PHP代码片段分享
- javamail发送邮件的实例代码分享
- c#socket编程udp客户端实现代码分享
- 应用程序操作NorFlash示例代码分享(norflash接口使用方法)
- js禁止回车提交表单的示例代码
- c#调用qq邮箱smtp发送邮件修改版代码分享
- python3.3教程之模拟百度登陆代码分享
- 怎么锁定鼠标的示例代码分享
- MySQL统计查询实现代码
- C#控制台程序实现开启、关闭SQLServer服务的代码分享
- PHP中数据库单例模式的实现代码分享
- python爬虫入门教程之糗百图片爬虫代码分享