微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过ASP.NET中的电子邮件进行密码恢复

如何解决通过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而不是MailAddressAddress

https://sendgrid.com/docs/for-developers/sending-email/v3-csharp-code-example/

var to = new EmailAddress("test@example.com","Example User");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。