【发布时间】:2018-05-18 04:59:45
【问题描述】:
当我从服务器发送邮件时,我的 MVC Mailer 实例失败。我在尝试发送电子邮件时收到错误 Value cannot be null.Parameter name: httpContext。
我的代码如下所示:
public static void SendApproval(TimeOffRequest request)
{
MailService mailer = new MailService();
mailer.ViewData.Model = request;
MvcMailMessage mailMessage = new MvcMailMessage
{
Subject = $"PTO request approved for {request.StartTime} to {request.EndTime}",
From = new MailAddress("calendar@company.com"),
};
mailMessage.To.Add(new MailAddress(request.Requester.Email));
if (mailMessage.To.Count == 0)
return;
mailer.PopulateBody(mailMessage, "RequestApproved");
mailMessage.Send();
}
在mailer.PopulateBody(mailMessage, "RequestApproved");线上特别失败
它是从控制器端点的帖子中调用的。为什么在这种情况下缺少上下文?我尝试手动传递上下文,但也失败了。
这是堆栈跟踪的顶部:
System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext) +505
Mvc.Mailer.MailerBase.CreateControllerContext() +98
Mvc.Mailer.MailerBase.ViewExists(String viewName, String masterName) +127
【问题讨论】:
标签: asp.net-mvc mvcmailer