.net SMTP发送Email 更新(可带附件)

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

//如果希望通过匿名邮件发送 则

 var smtp = new SmtpClient
                {
                    Host = "serverName",
                    Port = 25,     //匿名发送端口
                    EnableSsl = false,
                    DeliveryMethod = SmtpDeliveryMethod.Network,
                    UseDefaultCredentials = false,
                    //Credentials = new NetworkCredential(fromAddress, fromPassword)
                };



SMTP发送的Content,Title根据Static.html自动生成

var emailContent = File.ReadAllText(HttpContext.Current.Server.MapPath("/EmailContent/EmailContent.html")).Replace('\r', ' ').Replace('\n', ' ');

Replace('\r', ' ').Replace('\n', ' ');很重要,否则会报错。、

 MailMessage email = new MailMessage(fromAddress, "Allen_Yin@iclp.com.cn");
            email.Subject = emailContent.Substring(0, emailContent.IndexOf('<')); ;
            email.IsBodyHtml = true;
            email.Body = emailContent.Substring(emailContent.IndexOf('<')).Replace("$USERNAME", userName).Replace("$POINT", point);


/EmailContent/EmailContent.html  里面

Email Title!
<div>
    <div>
        <h1>Congratulation!</h1>
        <h5>$USERNAME $POINT</h5>
    </div>
</div>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值