Asp.net mvc 如何在主机上使用mvcMailer发送邮件

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

如何在主机www.mywindowshosting.com上使用mvcMailer发送邮件

我正在使用以下代码:

UserMailer类:

  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>