ABP中对邮件的封装主要集成在Abp.Net.Mail
和Abp.Net.Mail.Smtp
命名空间下,相应源码在此。
#一、Abp集成的邮件模块是如何实现的
分析可以看出主要由以下几个核心类组成:
- EmailSettingNames:静态常量类,主要定义了发送邮件需要的相关参数:Port、Host、UserName、Password、Domain、EnableSsl、UseDefaultCredentials。
- EmailSettingProvider:继承自
SettingProvider
,对EmailSettingNames
中定义的参数项进行设置。 - SmtpEmailSenderConfiguration :继承自
EmailSenderConfiguration
,用来读取设置的支持Smtp协议邮件相关参数项。 - SmtpEmailSender:继承自
EmailSenderBase
,实现了ISmtpEmailSender
接口。该类就是基于SMTP协议进行邮件发送。提供了SendEmailAsync(MailMessage mail)
和