【问题标题】:Password Recovery Control Timeout Connecting to Gmail密码恢复控制超时连接到 Gmail
【发布时间】:2011-06-26 06:44:57
【问题描述】:

我正在使用密码恢复控制,但出现错误

操作已超时。

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

【问题讨论】:

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


    【解决方案1】:

    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>
    

    【讨论】:

    • 仍然显示:您尝试检索密码不成功。请重试。
    【解决方案2】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 2015-10-29
    • 2011-07-08
    • 2011-07-14
    • 2013-01-03
    • 1970-01-01
    • 2018-02-24
    相关资源
    最近更新 更多