Asp.net mvc 如何在主机上使用mvcMailer发送邮件
如何在主机www.mywindowshosting.com上使用mvcMailer发送邮件 我正在使用以下代码: UserMailer类:Asp.net mvc 如何在主机上使用mvcMailer发送邮件,asp.net-mvc,mvcmailer,Asp.net Mvc,Mvcmailer,如何在主机www.mywindowshosting.com上使用mvcMailer发送邮件 我正在使用以下代码: UserMailer类: public class UserMailer : MailerBase, IUserMailer { public UserMailer() { MasterName = "_Layout"; } public MvcMailMessage ForgetP
public class UserMailer : MailerBase, IUserMailer
{
public UserMailer()
{
MasterName = "_Layout";
}
public MvcMailMessage ForgetPassword(EmailForgetPasswordViewModel forgetPasswordViewModel)
{
ViewData.Model = forgetPasswordViewModel;
return Populate(x =>
{
x.BodyTransferEncoding = System.Net.Mime.TransferEncoding.Base64;
x.BodyEncoding = Encoding.UTF8;
x.Subject = forgetPasswordViewModel.Subject;
x.ViewName = forgetPasswordViewModel.ViewName;
x.To.Add(forgetPasswordViewModel.To);
});
}
}
接口:
public interface IUserMailer
{
MvcMailMessage ForgetPassword(EmailForgetPasswordViewModel forgetPasswordViewModel);
}
行动:
[HttpPost]
[AllowAnonymous]
[MyValidateAntiForgeryToken]
public async Task<JsonResult> ForgotPassword(ForgetPasswordViewModel model)
{
if (ModelState.IsValid)
{
await _userMailer.ForgetPassword(new EmailForgetPasswordViewModel
{
To = model.Email,
Url = callbackUrl
}).SendAsync();
return SuccessSendMail();
}
return ModelState.GetListOfErrors();
}
您是否在web.config文件中配置了smtp服务器凭据?更新问题。请看便条。该代码在本地主机上正常工作,并将发送电子邮件。如果该代码在本地工作良好。这意味着您的主机阻止了587端口。询问您的提供商。
<smtp from="myMail@gmail.com">
<network enableSsl="true" host="smtp.gmail.com" port="587" userName="myMail@gmail.com" password="myPassword" />
</smtp>