Razor View-Seite als E-Mail-Vorlage

8

Ich habe eine E-Mail-Vorlage von Razor Syntax entworfen. Wenn ich diese Vorlage als E-Mail mit C # -Code und SMTP-Protokoll sende, bekomme ich Razor und HTML-Markups als E-Mail-Body. Liege ich falsch in diesem Ansatz? Sind Rasiererseiten als E-Mail-Vorlage erlaubt?

Hier ist meine Seite

%Vor%

Aktualisieren ..

%Vor%

Später ersetze ich den SMTP-Code als ..

%Vor%     
Lara 14.10.2015, 11:22
quelle

4 Antworten

12

E-Mail-Nachrichten verstehen nur zwei Formate: Nur-Text und HTML. Da Razor weder ist noch, muss es von einer Engine verarbeitet werden, so dass es Ihnen das generierte HTML zurückgibt.

Genau das passiert, wenn Sie Razor in ASP.NET MVC hinter den Kulissen verwenden. Die Razor-Datei wird in eine interne C # -Klasse kompiliert, die ausgeführt wird, und das Ergebnis der Ausführung ist der String-Inhalt des HTML, der an den Client gesendet wird.

Ihr Problem besteht darin, dass Sie diese Verarbeitung ausführen und ausführen möchten, nur um den HTML-Code als Zeichenfolge zurückzugeben, anstatt sie an den Browser zu senden. Danach können Sie mit der HTML-Zeichenkette alles machen, was Sie wollen, einschließlich des Sendens als E-Mail.

Es gibt mehrere Pakete, die diese Macht enthalten, und ich habe Westwind.RazorHosting erfolgreich verwendet, aber Sie können auch Verwenden Sie RazorEngine mit ähnlichen Ergebnissen. Ich bevorzuge RazorHosting für eigenständige Nicht-Web-Anwendungen und RazorEngine für Web-Anwendungen

Hier ist eine (gesäuberte) Version meines Codes - ich benutze Westwind.RazorHosting, um rasiermesserformatierte E-Mails von einem Windows-Dienst zu senden, indem ich eine stark typisierte Ansicht verwende.

%Vor%     
SWeko 14.10.2015, 11:57
quelle
3

Haben Sie sich MVC Mailer angesehen?

Es ist ein kostenloses Paket von GitHub ( Ссылка )

Es gibt auch eine Schritt für Schritt Anleitung dafür Ссылка

Es ist auch auf Nuget zu. Ссылка

Im Wesentlichen wird es Ihre Rasierer Ansicht in HTML analysieren.

    
Darren 14.10.2015 12:24
quelle
1

Sieh dir einen Rasiererprozessor wie RazorEngine ( Ссылка ) an, der auf NuGet verfügbar ist. Es verarbeitet Rasierer, um eine Ausgabe zu erstellen, die Sie dann als Hauptteil Ihrer E-Mail verwenden würden.

    
Chris Disley 14.10.2015 11:57
quelle
0

Das Mailzory -Projekt ist eine wertvolle und praktische Möglichkeit, E-Mails mit Razor-Vorlagen zu versenden.

%Vor%

Dieses Projekt wird auf Github gehostet. Außerdem gibt es ein Paket nuget für Mailzory.

    
Ehsan Mirsaeedi 06.10.2016 13:42
quelle

Tags und Links