【问题标题】:PasswordRecovery control in asp.netasp.net 中的密码恢复控制
【发布时间】:2016-10-09 16:09:45
【问题描述】:

我创建了我的 Web 应用程序和用户 PasswordRecovery Control。 我的 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 Authentication Required。

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>

【问题讨论】:

标签: asp.net password-recovery


【解决方案1】:

除了在您的配置中启用 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>

【讨论】:

  • 什么不起作用?您必须了解我们将拒绝猜测出了什么问题。详细一点。
  • 您记得更改 端口吗?
  • 解决问题的基本步骤: 1. 列出你尝试过的。 2. 列出不起作用的原因(如提供任何错误消息返回的原因)。 3. 搜索(谷歌)这些错误信息。 4. 搜索 (google) 以获取有关您的任务的基本信息。
【解决方案2】:

您需要指定连接是安全的:

<network enableSsl="true" ...

【讨论】:

  • 连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应173.194.78.109:25
【解决方案3】:

之前的回答有一个非常重要的错误。

defaultCredentials 属性应为 false 而不是 true,以便与 Gmail 一起使用。

【讨论】:

    猜你喜欢
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    相关资源
    最近更新 更多