华域联盟 .Net smtp发送带附件的邮件代码分享

smtp发送带附件的邮件代码分享

该方式直接保存为HTML文件,也可以是文本文件,其它格式效果不是很好

复制代码 代码如下:
   

    MailMessage mmsg = new MailMessage();

    mmsg.Subject = "邮件标题";

    mmsg.Body = "邮件内容";

    mmsg.To.Add("[email protected]");//接收邮箱

    byte[] bytes = System.Text.Encoding.Default.GetBytes

        (@"<table><tr><td width=150>1234567891234567

        </td><td width=80>12345678</td></tr></table>");

    MemoryStream ms = new MemoryStream(bytes);

    ContentType ct = new ContentType();

    //附件文件类型

    ct.MediaType = MediaTypeNames.Text.Html;

    //附件名称,可以是其它后缀名

    ct.Name = "附件名称" + DateTime.Now.ToString() + ".html";

    mmsg.Attachments.Add(new Attachment(ms, ct));

    //SMTP简单邮件协议

    System.Net.Mail.SmtpClient sc

        = new System.Net.Mail.SmtpClient();

    sc.Host = "127.0.0.1";//主机地址

    sc.Port = 25;//端口

    //发送邮箱账号和密码

    sc.Credentials =

        new System.Net.NetworkCredential("account", "password");

    //发送邮箱

    mmsg.From = new MailAddress("[email protected]");

    sc.Send(mmsg);

    //释放流资源

    ms.Close();

    ms.Dispose();

另附上一个.net使用smtp发送带附件邮件的实例

复制代码 代码如下:

public static void sendEmail(string toAddress, string emailbody)

{

var fromAddress = ConfigurationManager.AppSettings["EmailAddress"];

string fromPassword = ConfigurationManager.AppSettings["EmailPassword"].ToString();

const string subject = "Job Recommendation";

var smtp = new SmtpClient

{

Host = ConfigurationManager.AppSettings["SmtpServer"].ToString(),

Port = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]),

EnableSsl = true,

DeliveryMethod = SmtpDeliveryMethod.Network,

UseDefaultCredentials = false,

Credentials = new NetworkCredential(fromAddress, fromPassword)

};

using (var message = new MailMessage(fromAddress, toAddress, subject, HttpUtility.HtmlEncode(emailbody)))

{

smtp.Send(message);

}

}

<add key="EmailAddress" value="**********@gmail.com"/>//Email Address

<add key="EmailPassword" value="*********"/> //Emial PWD

<add key="SmtpServer" value="smtp.gmail.com"/>

<add key="SmtpPort" value="587"/>

<--带附件版本->

var fromAddress = "[email protected]";

string fromPassword = "yj1989120";

const string subject = "CV";

var smtp = new SmtpClient

{

Host = "smtp.gmail.com",

Port = 587,

EnableSsl = true,

DeliveryMethod = SmtpDeliveryMethod.Network,

UseDefaultCredentials = false,

Credentials = new NetworkCredential(fromAddress, fromPassword)

};

MailMessage email=new MailMessage(fromAddress, "[email protected]");

email.Subject = "INLINE attachment TEST";

email.IsBodyHtml = true;

string attachmentPath = "C:\\3.jpeg";

Attachment inline = new Attachment(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

Attachment letter = new Attachment(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);

您可能感兴趣的文章:

  • .net SMTP发送Email实例(可带附件)
  • .net SMTP发送Email邮件且可带附件示例
  • php使用smtp发送支持附件的邮件示例

本文由 华域联盟 原创撰写:华域联盟 » smtp发送带附件的邮件代码分享

转载请保留出处和原文链接:https://www.cnhackhy.com/55890.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部