如何解决通过ASP.NET中的电子邮件进行密码恢复
所以我试图在ASP.NET Web应用程序中实现密码恢复,但是出了点问题。 我正在使用此代码-
public class EmailService : IIdentityMessageService
{
public async Task SendAsync(IdentityMessage message)
{
await configSendGridasync(message);
}
// Use NuGet to install SendGrid (Basic C# client lib)
private async Task configSendGridasync(IdentityMessage message)
{
var myMessage = new SendGridMessage();
myMessage.AddTo(message.Destination);
myMessage.From = new MailAddress(
"mymail@gmail.com","Joe S.");
myMessage.Subject = message.Subject;
myMessage.PlainTextContent = message.Body;
myMessage.HtmlContent = message.Body;
var credentials = new NetworkCredential(
ConfigurationManager.AppSettings["mailAccount"],ConfigurationManager.AppSettings["mailPassword"]
);
// Create a Web transport for sending email.
var transportWeb = new Web(credentials);
// Send the email.
if (transportWeb != null)
{
await transportWeb.DeliverAsync(myMessage);
}
else
{
Trace.TraceError("Failed to create Web transport.");
await Task.Fromresult(0);
}
}
}
但是
myMessage.From = new MailAddress(
"mymail@gmail.com","Joe S.");
给出错误 cs0029无法将类型system.Net.MailAdress隐式转换为SendGrid.Helpers.Mail.Adress
此外,在var transportWeb = new Web(credentials);
行中找不到Web。
有什么主意吗? 已安装SendGrid Nuget软件包。
解决方法
您的代码正在从MailAddress
命名空间中提取System.Net
。您需要改用SendGrid.Helper.Mail
命名空间来解决这个问题。
或者您应该在传递MailAddress
时创建Address
;
最简单的方法有很多种;
myMessage.From = new SendGrid.Helpers.Mail.Address("mymail@gmail.com","Joe S.");
在查看SendGrid文档时,您可能还需要考虑使用EmailAddress
而不是MailAddress
或Address
。
https://sendgrid.com/docs/for-developers/sending-email/v3-csharp-code-example/
var to = new EmailAddress("test@example.com","Example User");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。