zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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);