首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP PasswordRecovery电子邮件失败,DateTime精度

问ASP PasswordRecovery电子邮件失败,DateTime精度
EN

Stack Overflow用户
提问于 2012-02-13 02:04:06
回答 3查看 616关注 0票数 3

我有一个asp.net 4.0网站,我正在使用PasswordRecovery控件来创建一个忘记密码的表单。当我在本地运行这个站点时,它工作得很好,电子邮件也会被发送。但是,当我从我的vps运行站点时,我在尝试发送电子邮件时收到错误消息。服务器的事件日志中没有任何内容。

我的PasswordRecovery aspx代码如下:

代码语言:javascript
复制
 <asp:PasswordRecovery ID="PasswordRecovery1" runat="server"       
            CssClass="mediumText">
            <MailDefinition From="noreply@x.com"   BodyFileName="~/EmailTemplates/PasswordRecovery.txt" />

我的web.config邮件设置如下:

代码语言:javascript
复制
<system.net>
    <mailSettings>
      <smtp from="noreply@x.com">
        <network host="smtp.123-reg.co.uk" password="x" userName="x" />
      </smtp>
    </mailSettings>
</system.net>

现在,我已经对SQL Server Express实例运行了SQL Profiler,结果发现在调用dbo.aspnet_Membership_GetUserByName时,SQL Server抛出了一个异常。存在类型转换问题,因为PasswordRecovery传递了一个带有7个小数位的DateTime参数。如果我手动执行小数点后3位的存储过程,那么它可以工作。有人知道为什么我的服务器上的DateTime参数的精度与我的笔记本电脑上的不同吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-18 03:16:31

正如您将从阅读this issue和后续响应中看到的那样,您看到的DateTime精度问题只是由于SQL Profiler以错误的格式显示日期造成的。这个问题与阻止您的电子邮件发送的原因无关。

当您尝试发送电子邮件时收到的错误消息是什么?这个问题很可能与阻止您的电子邮件发送到SMTP服务器有关。您是否使用计算机中的相同凭据发送到相同的SMTP?

票数 0
EN

Stack Overflow用户

发布于 2012-02-18 08:32:11

我认为这是从您的VPS到SMTP服务器的连接问题。您可以通过尝试使用telnet连接到SMTP服务器,在您的代码之外对此进行测试。按照以下链接中提到的步骤访问http://support.microsoft.com/kb/323350

票数 0
EN

Stack Overflow用户

发布于 2012-02-23 06:08:17

日期时间转换错误是在转移注意力。只有当您从探查器复制它并在management studio中执行它时,才会发生这种情况。这是一个已知的问题。

您可能想要阅读以下内容:http://forums.asp.net/t/1398826.aspx/1

听起来可能只是成员资格提供程序设置与密码不同。

我认为有两种可能性。

  1. 你没有在你的web.config中定义machineKey,并且你的本地实例和VPS实例都指向同一个数据库。如果这是真的,请在您的配置中添加一个machineKey,并在用于配置哈希密码的VPS上重新生成您的VPS成员资格提供程序配置,并且在此过程中的某处已更改为加密密码。(反之亦然)。这也会导致问题。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9251219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档