首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DotNetNuke.Services.Mail.Mail.SendMail问题

DotNetNuke.Services.Mail.Mail.SendMail问题
EN

Stack Overflow用户
提问于 2012-02-15 16:38:03
回答 3查看 3K关注 0票数 4

在我的系统中,我应该在查看正在使用DNN的列表后发送通知邮件

这是我使用的代码

代码语言:javascript
复制
private void SendEmailNotification()
    {
        DotNetNuke.Services.Mail.Mail.SendMail("mail@gmail.com", "mail@ymail.com", String.Empty, "URL Test", "this is a test of dnnmail: <a href='http://www.dotnetnuke.com'>DotNetNuke</a>", String.Empty, "html", String.Empty, String.Empty, String.Empty, String.Empty);
    }

函数调用是

代码语言:javascript
复制
SendEmailNotification();

但是我没有收到任何邮件,,,我做错了什么

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-15 23:46:45

调用SendMail时,您使用的是网站主机设置部分中的设置。如果信息不正确,你应该会从这个调用中得到一个异常。

因此,您可能需要检查事件查看器中是否有任何指示错误的内容。

此外,根据您使用的发件人/收件人地址,请务必检查垃圾邮件文件夹。

票数 0
EN

Stack Overflow用户

发布于 2012-02-15 22:41:09

SendMail应该返回一个string,如果有错误,它会给出一个错误消息。您还可以检查事件查看器,查看其中是否记录了任何内容。您是否可以从主机设置页面的SMTP部分发送测试电子邮件?您的SMTP服务器是否设置为允许以gmail.com (或您实际发送的任何域)进行发送?

票数 1
EN

Stack Overflow用户

发布于 2014-05-15 01:47:43

为了补充前面的答案...

DNN将遵守web.config文件中的设置,因此即使在内容管理系统中配置了SMTP设置,它们也可能被忽略,具体取决于web.config中的内容。具体地说,如果在web.config中指定了拾取目录,如以下代码片段所示,它将覆盖内容管理系统中的设置。

代码语言:javascript
复制
<system.net>
    <mailSettings>
      <smtp deliveryMethod="SpecifiedPickupDirectory">
        <specifiedPickupDirectory pickupDirectoryLocation="C:\SMTPPickup" />
      </smtp>
    </mailSettings>
  </system.net>

如果您看到从发送功能返回的成功,但没有看到它在您的收件箱中,邮件可能在收件目录中,请仔细检查web.config以确保没有设置覆盖内容管理系统中的设置。

现在可以在管理->高级配置设置区域找到对DNN 7+中的bdukes答案、SMTP设置和测试电子邮件的功能的一些更新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9290141

复制
相关文章

相似问题

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