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

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

  var smtp = new SmtpClient

  {

  Host = "serverName",

  Port = 25, //匿名发送端口

  EnableSsl = false,

  DeliveryMethod = SmtpDeliveryMethod.Network,

  UseDefaultCredentials = false,

  //Credentials = new NetworkCredential(fromAddress, fromPassword)

  };