我正在尝试从DNN定制模块发送电子邮件。我不使用通常的方法来创建模块。我使用Knockout.js,Odata,MVVM,文件背后的CS代码中只有很少的代码。 这是我添加到view.ascx.cs文件中的内容:
protected void AddDiningGuest(object sender, EventArgs e)
{
ModuleController controller = new ModuleController();
controller.UpdateModuleSetting(ModuleId, "SendTo", txtEmail.Text);
DotNetNuke.Services.Mail.Mail.SendMail("myemail@mydomain.org",
txtEmail.Text, String.Empty, "This is the subject",
"This is the message", String.Empty, "html", String.Empty,
String.Empty, String.Empty, String.Empty);
}
这是我的view.js文件中的AddDiningGuest发布函数:
AddDiningGuest: function () {
var _postData = {
Id: viewModel.Id(),
FullName: viewModel.FullName(),
Phone: viewModel.Phone(),
Email: viewModel.Email(),
Date1: viewModel.Date1(),
D1Brunch: viewModel.D1Brunch(),
Date2: viewModel.Date2(),
D2Breakfast: viewModel.D2Breakfast(),
D2Dinner: viewModel.D2Dinner(),
D2Supper: viewModel.D2Supper()
};
var _request = {
requestUri: _serviceURL + "/DiningRoomGuest",
method: "POST",
data: _postData
};
OData.request(_request, function (data) {
//document.location.href = _returnURL;
});
}
所以我的发布功能正在工作,因为它已成功在数据库中添加了新行,但是它没有发送电子邮件,也没有错误消息。