第一步:
1.1 结合依赖注入使用
在使用.Net Core的实际开发中,依赖注入已经成为了必不可少的开发模式。如果你正在使用.Net Core开发项目,但是你还没有接触依赖注入,那么需要你先自行反省一下。FluentEmail作为一款与时俱进的组件,也可以结合依赖注入 使用,使用这种方式我们可以在注册的时候统一的配置一些默认的设置。这波操作就不需要额外引入一些别的包了,如果你需要使用Smtp就引入FluentEmail.Smtp包,如果你需要使用Razor模板就引入FluentEmail.Razor包,关于注入 的这一部分的功能其实是包含在FluentEmail.Core包里面的
public
void
ConfigureServices(IServiceCollection services)
{
SmtpClient smtp =
new
SmtpClient
{
//smtp服务器地址(我这里以126邮箱为例,可以依据具体你使用的邮箱设置)
Host =
"smtp.qq.com"
,
UseDefaultCredentials =
true
,
DeliveryMethod = SmtpDeliveryMethod.Network,
//这里输入你在发送smtp服务器的用户名和密码
Credentials =
new
NetworkCredential(
"zhangsan@qq.com"
,
"zhangsan"
)
};
//注入的时候可以添加一些默认的设置
services
//设置默认发送用户
.AddFluentEmail(
"zhangsan@qq.com"
)
//配置默认的smtp服务信息
.AddSmtpSender(smtp);
}
第二步:
2.1 接下来我们就演示一下如何使用FluentEmail发送邮件,由于我们实际业务中大多数都使用的SMTP的方式发送邮件,所以我们就以此为做演示,首先我们在项目中引入FluentEmail.Smtp包,目前最新版本为2.8.0
<
PackageReference
Include
=
"FluentEmail.Smtp"
Version
=
"2.8.0"
/>
第三步:
3.1 它的编码使用方式非常简单而且非常简洁,主要通过链式编程的方式:
//如果使用smtp服务发送邮件必须要设置smtp服务信息
SmtpClient smtp =
new
SmtpClient
{
//smtp服务器地址(我这里以126邮箱为例,可以依据具体你使用的邮箱设置)
Host =
"smtp.126.com"
,
UseDefaultCredentials =
true
,
DeliveryMethod = SmtpDeliveryMethod.Network,
//这里输入你在发送smtp服务器的用户名和密码
Credentials =
new
NetworkCredential(
"邮箱用户名"
,
"邮箱密码"
)
};
//设置默认发送信息
Email.DefaultSender =
new
SmtpSender(smtp);
var email = Email
//发送人
.From(
"zhangsan@126.com"
)
//收件人
.To(
"lisi@qq.com"
)
//抄送人
.CC(
"admin@126.com"
)
//邮件标题
.Subject(
"邮件标题"
)
//邮件内容
.Body(
"邮件内容"
);
//依据发送结果判断是否发送成功
var result = email.Send();
//或使用异步的方式发送
//await email.SendAsync();
if
(result.Successful)
{
//发送成功逻辑
}
else
{
//发送失败可以通过result.ErrorMessages查看失败原因
}