密码恢复控制超时连接到Gmail

时间:2011-06-26 06:44:57

标签: asp.net web-config timeout gmail password-recovery

我正在使用密码恢复控制,我收到错误

操作已经超时。

web.config具有以下代码:

<system.net>
        <mailSettings>
            <smtp from="admin@mysite.com">
                <network host="smtp.gmail.com" password="gmailPassword"
                    port="465" userName="username@gmail.com" />
            </smtp>
        </mailSettings>
</system.net>

<membership defaultProvider="AspNetSqlMembershipProvider">
            <providers>
                <clear/>
                <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" passwordFormat="Clear"/>
            </providers>
        </membership>

我已将用于自动电子邮件的密码恢复控件放到页面上,但它无效。

我缺少什么?

使用的工具:VS2010中的asp.net 4

2 个答案:

答案 0 :(得分:2)

Gmail使用端口587,而不是465.

<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network host="smtp.gmail.com" port="587" userName="username@gmail.com" password="gmailPassword" />
      </smtp>
    </mailSettings>
  </system.net>

答案 1 :(得分:1)

这是可能的,因为Gmail要求为SMTP启用SSL。

如果您使用的是.NET 4.0,则可以添加set enableSsl =“true”。如果您使用的是旧版.NET,请参阅How to enable SSL for SmtpClient in Web.config