Тайм-аут контроля восстановления пароля Подключение к Gmail - PullRequest
0 голосов
/ 26 июня 2011

Я использую контроль восстановления пароля и получаю сообщение об ошибке

Время ожидания истекло.

Файл 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>

Я сбросил контроль восстановления пароля для автоматической электронной почты на страницу, но он не работает.

Чего мне не хватает?

Используемые инструменты: asp.net 4 в VS2010

Ответы [ 2 ]

2 голосов
/ 26 июня 2011

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 голос
/ 26 июня 2011

Это возможно, потому что Gmail требует, чтобы SSL был включен для SMTP.

Если вы используете .NET 4.0, вы можете добавить set enableSsl = "true". Если вы используете более старую версию .NET, см. Как включить SSL для SmtpClient в Web.config .

...