将发送邮件的 SendGrid 对象的创建方式从直接实例化对象改为依赖注入的方式。 首先在startup.cs 中配置 SendGrid 接口和其实现类:
services.AddTransient
然后在需要使用 SendGrid 的类中添加构造函数和私有 SendGrid 接口属性:
public class MyController : Controller { private readonly ISendGridClient _sendGridClient;
public MyController(ISendGridClient sendGridClient)
{
_sendGridClient = sendGridClient;
}
// 在需要发送邮件的方法中调用 SendGrid 接口的方法
public async Task SendEmailAsync()
{
var message = new SendGridMessage();
//...填充邮件信息
await _sendGridClient.SendEmailAsync(message);
return Ok();
}
} 这样就可以通过依赖注入的方式获取 SendGrid 对象,并使用它发送邮件。