使用C#通过Gmail SMTP服务器发送电子邮件。

10 浏览
0 Comments

使用C#通过Gmail SMTP服务器发送电子邮件。

由于某种原因,对于“通过Gmail在.NET中发送电子邮件”的问题,无论是被接受的答案还是其他答案对我都不起作用。为什么它们不起作用?

更新:我已经尝试了其他问题中的所有答案(包括被接受的答案),但它们都不起作用。

我只想知道它是否对其他人有效,否则可能是Google做了一些更改(这种情况以前发生过)。

当我尝试使用使用SmtpDeliveryMethod.Network的代码片段时,我很快就会在Send(message)上收到一个SmtpException。错误消息是:

SMTP服务器需要安全连接或客户端未经身份验证。

服务器响应是:

5.5.1 需要身份验证。了解更多信息" <-- 是真的,就这么结束了。

更新:

这是我很久以前提出的一个问题,被接受的答案是我在不同项目中使用过很多次的代码。

我借鉴了这个帖子和其他EmailSender项目的一些思路,创建了一个在Codeplex上的EmailSender项目。它专为可测试性而设计,并支持我最喜欢的SMTP服务,如GoDaddy和Gmail。

0
0 Comments

问题原因:发送电子邮件通过Gmail SMTP服务器使用C#的问题可能是由于以下原因之一导致的:

1. 代码错误:代码中可能存在错误,导致无法成功发送电子邮件。

2. 认证问题:可能由于未正确提供凭据或未启用SSL,导致无法通过Gmail SMTP服务器进行认证。

3. 安全设置问题:可能由于Gmail帐户的安全设置问题,导致无法发送电子邮件。

解决方法:

1. 检查代码:仔细检查代码,确保没有错误。可以参考示例代码,并根据自己的需求进行修改。

2. 提供正确的凭据:确保在代码中正确提供Gmail帐户的用户名和密码,并使用NetworkCredential类进行认证。

3. 启用SSL:确保在代码中设置SmtpClient的EnableSsl属性为true,以启用SSL加密连接。

4. 检查安全设置:确认在Gmail帐户的设置页面中启用了"less secure apps"选项,以允许通过SMTP发送电子邮件。如果出现“Authentication Required”异常,可能需要启用此选项。

5. 检查密码强度和两步验证:如果已启用两步验证或设置了较强的密码,请尝试生成应用程序密码并在代码中使用该密码进行认证。

6. 调试和测试:可以尝试在控制台程序中运行相同的代码,以检查代码和环境是否存在问题。可以使用其他电子邮件客户端(如Outlook)验证凭据和设置是否正确。

通过仔细检查代码、提供正确的凭据、启用SSL、检查安全设置以及进行调试和测试,可以解决发送电子邮件通过Gmail SMTP服务器使用C#的问题。确保在代码中正确处理异常,并根据需要进行相应的处理和调整。

0
0 Comments

问题的原因是Google的密码强度算法发生了改变,将原来的密码认定为太弱,但在登录时并没有给出任何提示或警告。解决方法是更改密码为强密码,即可解决问题。这可能是因为Google认为在Gmail环境之外使用Gmail时,需要更强的密码以防止账户被盗用。不过,Google并没有提前告知用户密码强度的改变,这一点有些不太好。以下是一些用户的反馈和解决方法:

- 一位用户尝试了所有其他可能的解决方法后,决定尝试更改密码,结果问题得到解决。后来他又尝试将密码改回原来的密码,但Gmail不允许他这样做,提示密码太弱。这说明问题产生的原因可能是密码强度算法发生了改变,而之前的弱密码已不再被接受。

- 另一位用户在开发机器上成功发送邮件,但在生产服务器上发送邮件时失败。更改密码为复杂密码后,问题得到解决。

- 还有一位用户表示,他的Gmail账户之前没有密码强度要求。更新为强密码后,代码顺利运行。

- 还有一位用户表示,问题的解决方法就是将密码更改为强密码。

- 一位用户表示,更改Gmail密码解决了问题,但问题并非密码更安全,只是需要更换密码才能解决。看来每次更换主机时都需要更改密码。

,问题的原因是Google密码强度算法的改变,解决方法是更改密码为强密码。这一解决方法被多位用户证实有效。不过,Google在此问题上缺乏提前告知用户的措施。

0
0 Comments

问题出现的原因是如果用户在Gmail账户上启用了两步验证(也称为“两步验证”),则必须生成一个特定于应用程序的密码,并使用该新生成的密码通过SMTP进行身份验证。

解决方法是访问https://www.google.com/settings/,选择“授权应用程序和网站”来生成密码。用户必须启用账户上的两步验证,然后才能创建特定于应用程序的密码。

此外,还有一些用户尝试了其他方法,如使密码更加安全,使用Gmail提供的应用程序密码,但这些方法并没有解决问题。用户需要启用两步验证并使用特定于应用程序的密码来解决问题。

总结起来,用户在使用C#通过Gmail SMTP服务器发送电子邮件时遇到了身份验证错误。问题的解决方法是启用Gmail账户上的两步验证并生成特定于应用程序的密码来进行身份验证。

0