在我的系统中,我应该在查看正在使用DNN的列表后发送通知邮件
这是我使用的代码
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);
}函数调用是
SendEmailNotification();但是我没有收到任何邮件,,,我做错了什么
发布于 2012-02-15 23:46:45
调用SendMail时,您使用的是网站主机设置部分中的设置。如果信息不正确,你应该会从这个调用中得到一个异常。
因此,您可能需要检查事件查看器中是否有任何指示错误的内容。
此外,根据您使用的发件人/收件人地址,请务必检查垃圾邮件文件夹。
发布于 2012-02-15 22:41:09
SendMail应该返回一个string,如果有错误,它会给出一个错误消息。您还可以检查事件查看器,查看其中是否记录了任何内容。您是否可以从主机设置页面的SMTP部分发送测试电子邮件?您的SMTP服务器是否设置为允许以gmail.com (或您实际发送的任何域)进行发送?
发布于 2014-05-15 01:47:43
为了补充前面的答案...
DNN将遵守web.config文件中的设置,因此即使在内容管理系统中配置了SMTP设置,它们也可能被忽略,具体取决于web.config中的内容。具体地说,如果在web.config中指定了拾取目录,如以下代码片段所示,它将覆盖内容管理系统中的设置。
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\SMTPPickup" />
</smtp>
</mailSettings>
</system.net>如果您看到从发送功能返回的成功,但没有看到它在您的收件箱中,邮件可能在收件目录中,请仔细检查web.config以确保没有设置覆盖内容管理系统中的设置。
现在可以在管理->高级配置设置区域找到对DNN 7+中的bdukes答案、SMTP设置和测试电子邮件的功能的一些更新。
https://stackoverflow.com/questions/9290141
复制相似问题