using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Mail; using System.Text; using System.Threading.Tasks; namespace SgManager.AI { public class PostMail { public class EmailParameterSet { /// /// 收件人的邮件地址 /// public string ConsigneeAddress { get; set; } /// /// 收件人的名称 /// public string ConsigneeName { get; set; } /// /// 收件人标题 /// public string ConsigneeHand { get; set; } /// /// 收件人的主题 /// public string ConsigneeTheme { get; set; } /// /// 发件邮件服务器的Smtp设置 /// public string SendSetSmtp { get; set; } /// /// 发件人的邮件 /// public string SendEmail { get; set; } /// /// 发件人的邮件密码 /// public string SendPwd { get; set; } /// /// 发件内容 /// public string SendContent { get; set; } } public bool MailSend(EmailParameterSet EPSModel) { try { //确定smtp服务器端的地址,实列化一个客户端smtp System.Net.Mail.SmtpClient sendSmtpClient = new System.Net.Mail.SmtpClient(EPSModel.SendSetSmtp);//发件人的邮件服务器地址 //构造一个发件的人的地址 System.Net.Mail.MailAddress sendMailAddress = new MailAddress(EPSModel.SendEmail, EPSModel.ConsigneeHand, Encoding.UTF8);//发件人的邮件地址和收件人的标题、编码 //构造一个收件的人的地址 System.Net.Mail.MailAddress consigneeMailAddress = new MailAddress(EPSModel.ConsigneeAddress, EPSModel.ConsigneeName, Encoding.UTF8);//收件人的邮件地址和收件人的名称 和编码 //构造一个Email对象 System.Net.Mail.MailMessage mailMessage = new MailMessage(sendMailAddress, consigneeMailAddress);//发件地址和收件地址 mailMessage.Subject = EPSModel.ConsigneeTheme;//邮件的主题 mailMessage.BodyEncoding = Encoding.UTF8;//编码 mailMessage.SubjectEncoding = Encoding.UTF8;//编码 mailMessage.Body = EPSModel.SendContent;//发件内容 mailMessage.IsBodyHtml = false;//获取或者设置指定邮件正文是否为html //设置邮件信息 (指定如何处理待发的电子邮件) sendSmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定如何发邮件 是以网络来发 sendSmtpClient.EnableSsl = false;//服务器支持安全接连,安全则为true sendSmtpClient.UseDefaultCredentials = false;//是否随着请求一起发 //用户登录信息 NetworkCredential myCredential = new NetworkCredential(EPSModel.SendEmail, EPSModel.SendPwd); sendSmtpClient.Credentials = myCredential;//登录 sendSmtpClient.Send(mailMessage);//发邮件 return true;//发送成功 } catch (Exception) { return false;//发送失败 } } } }