加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Mvc.Mailer发送空体邮件C#webApi

发布时间:2020-12-16 07:04:10 所属栏目:百科 来源:网络整理
导读:我正在使用MVCMailer并尝试从WebApi发送邮件,但邮件总是以空消息到达. 视图位于/Views/Account/CreateUser.cshtml中 这是我的代码 public class Account: MailerBase{ public MvcMailMessage CreateUser(CreateNewAccount model) { return Populate(x = { x.
我正在使用MVCMailer并尝试从WebApi发送邮件,但邮件总是以空消息到达.

视图位于/Views/Account/CreateUser.cshtml中

这是我的代码

public class Account: MailerBase
{

    public MvcMailMessage CreateUser(CreateNewAccount model)
    {
        return Populate(x =>
                            {
                                x.Subject = model.Subject;
                                x.ViewName = "CreateUser";
                                x.To.Add(model.Email);
                                ViewData.Model = model;
                            });
    }

当我从经典MVC控制器发送电子邮件时,电子邮件正确到达,但从APiControler邮件正文发送是空的.

[解决]
视图必须位于主视图文件夹中,而不是位于区域中.在我的情况/Views/Account/CreateUser.cshtml

解决方法

我想我找到了一个解决方法(花了我几个小时的挖掘时间).就我而言,我有:

>一个公开REST端点的Web API项目
>包含电子邮件模板的MvcMailer MVC项目(视图)

从Web API项目中找不到视图,因为它们位于引用的程序集(MvcMailler项目)中.这显然是一个非常普遍的问题.
我通过安装EmbeddedResourceVirtualPathProvider Nuget包(https://github.com/mcintyre321/EmbeddedResourceVirtualPathProvider)来修复它,它几乎可以开箱即用!

要更好地了解正在发生的事情:

>这篇文章有点陈旧但仍然有效:http://www.codeproject.com/Articles/15494/Load-WebForms-and-UserControls-from-Embedded-Resou
>在那里找到:McvMailer doesn’t see views
> Github中的错误:https://github.com/smsohan/MvcMailer/issues/126

希望能帮助到你 :)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读