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;//发送失败
}
}
}
}