-1

Web アプリケーションとユーザーPasswordRecoveryコントロールを作成しました。html の私のコード:

<asp:PasswordRecovery ID="PasswordRecovery1" runat="server">
     <MailDefinition From="mail@gmail.com" Subject="ResetPassword"
      Priority="High"/>
</asp:PasswordRecovery>

そして、私の web.config コードは次のとおりです。

<system.net>
     <mailSettings>
        <smtp deliveryMethod="Network" from="mail@gmail.com">
           <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="mail@gmail.com">
                <network host="smtp.gmail.com" password="mypassword"
                 enableSsl="true" port="578" userName="hsadeghi.t@gmail.com" />
            </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>
4

3 に答える 3

2

設定で ssl を有効にするだけでなく、正しいポートを設定する必要もあります。これは 25ではありません。これは587 です。

<smtp deliveryMethod="Network" from="someaccount@gmail.com">
   <network
      host="smtp.gmail.com"
      port="587"  
      enableSsl="true"
      userName="someaccount@gmail.com"
      password="somepassword"
      defaultCredentials="false"/>
</smtp>
于 2013-07-23T11:26:18.407 に答える
0

接続が安全であることを指定する必要があります。

<network enableSsl="true" ...
于 2013-07-22T11:24:00.697 に答える
0

以前の回答には非常に重要な誤りがあります。

Gmail で機能させるには、defaultCredentials属性を にしfalseないでください。true

于 2014-09-02T18:12:00.753 に答える