2013-07-22 2 views
-1

Я создал мое веб-приложение и пользователь PasswordRecovery Управление. Мой код в HTML:PasswordRecovery control in asp.net

<asp:PasswordRecovery ID="PasswordRecovery1" runat="server"> 
    <MailDefinition From="[email protected]" Subject="ResetPassword" 
     Priority="High"/> 
</asp:PasswordRecovery> 

И мой web.config код:

<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="Network" from="[email protected]"> 
      <network 
       host="smtp.gmail.com" 
       port="25" 
       password="xxxxxxx" 
       defaultCredentials="true"/> 
     </smtp> 
    </mailSettings> 
</system.net> 

Но я получаю эти ошибки и он не работает.

1-Для SMTP-сервера требуется защищенное соединение, или клиент не прошел аутентификацию. Ответ сервера: 5.5.1 Требуется аутентификация.

2-Попытка подключения не удалась, поскольку подключенная сторона не ответила после определенного периода времени, или установить соединение не удалось, так как подключенный хозяин не смог ответить 173.194.66.109:25


мой web.config код

<configuration> 
    <system.web> 
     <roleManager enabled="true" /> 
     <authentication mode="Forms" /> 
     <compilation debug="true" targetFramework="4.5" /> 
     <httpRuntime targetFramework="4.5" /> 
    </system.web> 

    <!-- ... --> 

    <system.net> 
     <mailSettings> 
      <smtp from="[email protected]"> 
       <network host="smtp.gmail.com" password="mypassword" 
       enableSsl="true" port="578" userName="[email protected]" /> 
      </smtp> 
     </mailSettings> 
    </system.net> 
</configuration> 

и форма:

<%@ Page Title="" Language="C#" MasterPageFile="~/Masters/master-store.Master" 
    AutoEventWireup="true" CodeBehind="UserPasswordRecovery.aspx.cs" 
    Inherits="Store.Pages.userpasswordrecovery" %> 

<!-- ... --> 
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <div class="wrapper"> 
     <div class="wrapper-rim"> 
      <div class="site-content"> 
       <div class="recovery-password" dir="rtl"> 
        <asp:PasswordRecovery ID="PasswordRecovery1" runat="server"/> 
       </div> 
      </div> 
     </div> 
    </div> 
</asp:Content> 
+0

Chack This Link. [введите описание ссылки здесь] [1] [1]: http://stackoverflow.com/questions/6097333/the-smtp-server-requires-a-secure-connection-or -the-client-was-not-authenticated – Raghubar

ответ

1

Помимо включения SSL в конфигурации, необходимо также установить правильный порт, который не 25. Это 587.

<smtp deliveryMethod="Network" from="[email protected]"> 
    <network 
     host="smtp.gmail.com" 
     port="587" 
     enableSsl="true" 
     userName="[email protected]" 
     password="somepassword" 
     defaultCredentials="false"/> 
</smtp> 
+0

Я попробовал это, но теперь работает –

+0

** WHAT ** doesn ' т работы? Вы должны узнать, что мы откажемся ** угадать **, что случилось. Будьте детализированы. –

+0

Вы помните, что ** изменили ** ** порт **? –

0

Необходимо указать, что соединение является безопасным:

<network enableSsl="true" ... 
+0

Я пробовал это, но снова получаю ту же ошибку. –

+0

Не удалось выполнить попытку подключения, так как подключенная сторона не ответила должным образом через какое-то время или установив соединение не удалось, потому что подключенный хост не смог ответить 173.194.78.109:25 –

0

В более раннем ответе есть очень важная ошибка.

Атрибут defaultCredentials должен быть false не true, чтобы он работал с Gmail.