0

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

操作已超时。

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

4

2 回答 2

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>
于 2011-06-26T18:26:08.180 回答
1

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

如果您使用的是 .NET 4.0,则可以添加 set enableSsl="true"。如果您使用的是旧版本的 .NET,请参阅如何在 Web.config 中为 SmtpClient 启用 SSL

于 2011-06-26T08:32:59.077 回答