gpt4 book ai didi

c# - 如何使用 DotNetOpenAuth 向任何邮件提供商进行身份验证?

转载 作者:太空狗 更新时间:2023-10-30 01:16:30 26 4
gpt4 key购买 nike

我开发了一个可以向任何域发送电子邮件的 ASP.net 应用程序。我正在使用一个简单的 .Net smtp 客户端:

var fromAddress = new MailAddress("mymailid@gmail.com");
var fromPassword = "xxxxxx";
var toAddress = new MailAddress("yourmailid@yourdoamain.com");

var smtpClient = new System.Net.Mail.SmtpClient
{
Host = "smtp.gmail.com",// or any others
Port = 587, // correspond to host
EnableSsl = true,
DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};

smtpClient.Send(消息)。但是我无法使用 .Net.Mail 向任何现代邮件提供商(包括 gmail、yahoo、yandex)进行身份验证,因为我遇到以下异常 The server response was: 5.5.1 Authentication Required

正确填写所有 smtp 配置。

如何使用 DotNetOpenAuth 进行身份验证并使用 .Net.Smtp 发送电子邮件?请给我一个例子。

最佳答案

我会考虑您的 SMTP 服务器。它允许您发送电子邮件吗?您的请求是否已发送到服务器并得到验证?您是否使用Fiddler查看了流量? ?

您可以使用 SendGrid 注册一个免费帐户,他会为您提供一个 SMTP 服务器来为您发送电子邮件。你真的最好使用像 SendGrid 这样的公司而不是 gmail SMTP 服务器。

除此之外,Mail4Net可能会对您的代码有所帮助。

要将 GMail 用作 SMTP 服务器,您必须设置一些值:

Outgoing Mail (SMTP) Server: smtp.gmail.com
Use Authentication: Yes
Use Secure Connection: Yes (this can be TLS or SSL depending on your mail client)
Username: your GMail account, i.e. user@gmail.com
Password: your GMail password
Port: 465 or 587

您还可以将连接移动到网络或应用程序配置文件:

<configuration>

<system.net>
<mailSettings>
<smtp deliveryMethod="network" from="pam@gmail.com">
<network
host="smtp.gmail.com"
port="465"
enableSsl="true"
userName="pam@gmail.com"
password="password"
/>
</smtp>
</mailSettings>
</system.net>

</configuration>

关于c# - 如何使用 DotNetOpenAuth 向任何邮件提供商进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34942358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com