快速搜索
主页 > ag亚游vip|HOME > asp.netag怎么试玩|平台 >

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

时间:2014-11-28 16:13来源:网络整理 作者:网络 点击:
分享到:
本文给大家分享一段smtp发送带附件邮件的代码,代码非常简洁易懂,有需要的小伙伴可以参考下。

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

复制代码 代码如下:
???
??? MailMessage mmsg = new MailMessage();
??? mmsg.Subject = "邮件标题";
??? mmsg.Body = "邮件内容";
??? mmsg.To.Add("accept@qq.com");//接收邮箱
??? byte[] bytes = System.Text.Encoding.Default.GetBytes
??????? (@"
1234567891234567
???????
12345678
");
??? 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("account@qq.com");
??? 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)
};
ag亚游vip|HOME using (var message = new MailMessage(fromAddress, toAddress, subject, HttpUtility.HtmlEncode(emailbody)))
{
smtp.Send(message);
}
}
//Email">**********@gmail.com"/>//Email Address
//Emial PWD


<--带附件版本->
var fromAddress = "allenyinj@gmail.com";
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, "allen.yin.jun@gmail.com");
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);
精彩图集

赞助商链接