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

时间:2021-09-22 19:51:09

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