2012-04-17 105 views
2

我正尝试在我正在创建的DNN模块中发送电子邮件。但是,尽管它不会崩溃,但电子邮件未被发送。我认为这与我试图使用的From Email有关。我不是100%确定哪些电子邮件我应该使用的第一个参数。在DNN中发送电子邮件

Protected Sub Submit_Click(sender As Object, e As EventArgs) Handles Submit.Click 
    DotNetNuke.Services.Mail.Mail.SendEmail("[email protected]", "[email protected]", "EmailTest", "Hello world!") 
End Sub 

回答

4

更可能的问题是您没有正确配置SMTP设置。要配置SMTP设置,请以主机身份登录。然后,进入主机 - >设置并填写“SMTP服务器设置”下的字段并保存。还有一个测试链接以验证它们正常工作。

+0

看起来像是这个问题。但是现在我不确定我设置的电子邮件地址。它只是默认为“support @ localhost”地址,这似乎是无效的。 – Mitchell 2012-04-18 12:40:48

+0

好吧,我用海王星并成功配置了smtp。但是,通过我的模块发送电子邮件仍然不会导致电子邮件显示在我的电子邮件地址中。海王星显示至少发送了该消息,但它是否实际上不发送电子邮件? 我参考了本指南:http://www.dotnetnuke.com/Resources/Video-Library/Viewer/VideoId/214/Configuring-SMTP-In-DotNetNuke.aspx – Mitchell 2012-04-18 13:12:44

+0

好吧,有点。在Windows Live Mail上检查电子邮件。找到我发送的,但发送新的不显示。 – Mitchell 2012-04-18 13:42:57

0

这对于聚会来说可能相当晚,但我经常使用Mail.SendMail()方法,然后手动传递下面的所有STMP信息,然后在调试时检查返回的消息。 (截至DotNetNuke 5.5)

 Dictionary<string, string> hostSettings = HostController.Instance.GetSettingsDictionary(); 
     string server = hostSettings["SMTPServer"]; 
     string authentication = hostSettings["SMTPAuthentication"]; 
     string password = hostSettings["SMTPPassword"]; 
     string username = hostSettings["SMTPUsername"]; 

     // using the Mail.SendMail() method allows for easier debugging. 
     var message = Mail.SendMail(from, user.Email, String.Empty, subject, body, String.Empty, "HTML", server, authentication, username, password);