Подтвердить что ты не робот

Использование Postal MVC с макетом Разбирает заголовки как почтовый ящик

Кажется, когда я использую Postal для отправки электронной почты с помощью Layout, заголовки не анализировались и не включались в почтовое сообщение.

Просмотров/Письма/_ViewStart.cshtml

@{ Layout = "~/Views/Emails/_EmailLayout.cshtml"; }

Просмотров/Письма/_EmailLayout.cshtml  

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>ViewEmails</title>
</head>
<body>
    <div>
        @RenderBody()
    </div>
</body>
</html>

Просмотров/Письма/ResetPassword.cshtml

To:  @ViewBag.To
From: @ViewBag.From
Subject: Reset Password
Views: Html

Просмотров/Письма/ResetPassword.html.cshtml

Content-Type: text/html; charset=utf-8

Here is your link, etc ...

Когда я получил почту, все заголовки To, From, Subject и Views включены в тело.

Кто-нибудь знает, как это сделать правильно?

ОБНОВЛЕНО (спасибо Эндрю), это работает:

Просмотров/Письма/_EmailLayout.cshtml

@RenderSection("Headers", false)
<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>ViewEmails</title>
</head>
<body>
    <div>
        @RenderBody()
    </div>
</body>
</html>

Просмотров/Письма/ResetPassword.cshtml

@section Headers {
    To:  @ViewBag.To
    From: @ViewBag.From
    Subject: Reset Password
    Views: Html
}

Просмотров/Письма/ResetPassword.html.cshtml

@section Headers {
    Content-Type: text/html; charset=utf-8
}

Here is your link, etc ...
4b9b3361

Ответ 1

Один из вариантов - использовать раздел Razor.

В верхней части макета добавьте:

@RenderSection("Headers")

Затем в представлении add:

@section Headers {
    To:  @ViewBag.To
    From: @ViewBag.From
    Subject: Reset Password
    Views: Html
}

Ответ 2

Переместить первую строку

Content-Type: text/html; кодировка = UTF-8

из Views/Emails/ResetPassword.html.cshtml в Views/Emails/_EmailLayout.cshtml

Content-Type: text/html; charset=utf-8
<html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>ViewEmails</title>
    </head>
    <body>
        <div>
            @RenderBody()
        </div>
    </body>
</html>