You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
212 lines
5.4 KiB
C#
212 lines
5.4 KiB
C#
using MimeKit.Text;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using Common;
|
|
namespace Common.Tools.Email
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
/// 邮件内容实体
|
|
/// </summary>
|
|
public class MailBodyEntity
|
|
{
|
|
|
|
public MailBodyEntity()
|
|
{ }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="Recipients">收件人Email</param>
|
|
/// <param name="Subject">Email主题</param>
|
|
/// <param name="Body">邮件内容 默认html格式</param>
|
|
public MailBodyEntity(List<string> Recipients, string Subject, string Body, string SendName, string SendAccess = null)
|
|
{
|
|
this.Recipients =Recipients;
|
|
this.Subject = Subject;
|
|
this.Body = Body;
|
|
this.SenderAddress = SenderAddress;
|
|
this.Sender = SendName;
|
|
|
|
}
|
|
/// <summary>
|
|
/// Email UniqueId
|
|
/// </summary>
|
|
public long UniqueId { get; set; }
|
|
/// <summary>
|
|
///Email MessageId
|
|
/// </summary>
|
|
public string MessageId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮件文本内容
|
|
/// </summary>
|
|
public string MailTextBody { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮件内容类型
|
|
/// </summary>
|
|
public TextFormat MailBodyType { get; set; } = TextFormat.Html;
|
|
|
|
/// <summary>
|
|
/// 邮件附件集合
|
|
/// </summary>
|
|
public List<MailFile> MailFiles { get; set; } = new List<MailFile>();
|
|
|
|
/// <summary>
|
|
/// 收件人
|
|
/// </summary>
|
|
public List<string> Recipients { get; set; }
|
|
|
|
/// <summary>
|
|
/// 抄送
|
|
/// </summary>
|
|
public List<string> Cc { get; set; } = new List<string>();
|
|
|
|
/// <summary>
|
|
/// 密送
|
|
/// </summary>
|
|
public List<string> Bcc { get; set; } = new List<string>();
|
|
|
|
/// <summary>
|
|
/// 发件人 如果多个,间隔
|
|
/// </summary>
|
|
public string Sender { get; set; } = "";
|
|
/// <summary>
|
|
/// 发送时间 Email的时间一般是世界UTC时间
|
|
/// </summary>
|
|
public long SendTime { get; set; }
|
|
|
|
/// <summary>
|
|
/// 发件人地址
|
|
/// </summary>
|
|
public string SenderAddress { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮件主题
|
|
/// </summary>
|
|
public string Subject { get; set; } = "";
|
|
|
|
/// <summary>
|
|
/// 邮件内容
|
|
/// </summary>
|
|
public string Body { get; set; }
|
|
}
|
|
/// <summary>
|
|
/// 邮件附件
|
|
/// </summary>
|
|
public class MailFile
|
|
{
|
|
/// <summary>
|
|
/// 邮件附件文件类型 例如:图片 MailFileType="image"
|
|
/// </summary>
|
|
public string MailFileType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮件附件文件子类型 例如:图片 MailFileSubType="png"
|
|
/// </summary>
|
|
public string MailFileSubType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮件附件文件路径 例如:图片 MailFilePath=@"C:\Files\123.png"
|
|
/// </summary>
|
|
public string MailFilePath { get; set; }
|
|
/// <summary>
|
|
/// 文件名称包含后缀名
|
|
/// </summary>
|
|
public string FileName { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 邮件服务器基础信息
|
|
/// </summary>
|
|
public class MailServerInformation
|
|
{
|
|
/// <summary>
|
|
/// SMTP服务器支持SASL机制类型
|
|
/// </summary>
|
|
public bool Authentication { get; set; }
|
|
|
|
/// <summary>
|
|
/// SMTP服务器对消息的大小
|
|
/// </summary>
|
|
public uint Size { get; set; }
|
|
|
|
/// <summary>
|
|
/// SMTP服务器支持传递状态通知
|
|
/// </summary>
|
|
public bool Dsn { get; set; }
|
|
|
|
/// <summary>
|
|
/// SMTP服务器支持Content-Transfer-Encoding
|
|
/// </summary>
|
|
public bool EightBitMime { get; set; }
|
|
|
|
/// <summary>
|
|
/// SMTP服务器支持Content-Transfer-Encoding
|
|
/// </summary>
|
|
public bool BinaryMime { get; set; }
|
|
|
|
/// <summary>
|
|
/// SMTP服务器在消息头中支持UTF-8
|
|
/// </summary>
|
|
public string UTF8 { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 邮件发送结果
|
|
/// </summary>
|
|
public class SendResultEntity
|
|
{
|
|
/// <summary>
|
|
/// 结果信息
|
|
/// </summary>
|
|
public string ResultInformation { get; set; } = "发送成功!";
|
|
|
|
/// <summary>
|
|
/// 结果状态
|
|
/// </summary>
|
|
public bool ResultStatus { get; set; } = true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 邮件收发送服务器配置
|
|
/// </summary>
|
|
public class SendServerConfigurationEntity
|
|
{
|
|
|
|
/// <summary>
|
|
/// 邮箱SMTP服务器地址
|
|
/// </summary>
|
|
public string SmtpHost { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮箱SMTP服务器端口
|
|
/// </summary>
|
|
public int SmtpPort { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否启用IsSsl
|
|
/// </summary>
|
|
public bool IsSsl { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮件编码
|
|
/// </summary>
|
|
public string MailEncoding { get; set; } = "utf-8";
|
|
|
|
/// <summary>
|
|
/// 邮箱账号
|
|
/// </summary>
|
|
public string SenderAccount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮箱密码
|
|
/// </summary>
|
|
public string SenderPassword { get; set; }
|
|
|
|
}
|
|
}
|