Rasoir vues comme des modèles d'e-mail
Je suis entrain de créer un moteur de courrier électronique dans mvc3 et je suis en train d'utiliser de rasoir vues comme des modèles d'e-mail.
J'ai entendu c'est possible, mais je n'ai pas encore trouvé aucune information à ce sujet.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser http://razorengine.codeplex.com/ pour atteindre cet objectif. Il vous permet d'utiliser de rasoir à l'extérieur de la mvc.
C'est simple à mettre en œuvre et il est disponible sur http://nuget.codeplex.com/ pour une intégration facile dans vos projets.
@Html
fonctionnalité. Il pourrait être intéressant de demander à la codeplex page de l'assistance. Si MVC a son propre rasoir analyseur c'est réellement distinct de rasoir en lui même je ne suis pas sûr si cela peut être fait facilement.@model
est un mvc seule chose. Il a été mis à jour à l'appui de@model
depuis que j'ai ajouté cette fonctionnalité, un moment de retour. La dernière source est github.com/Antaris/RazorEngineVous POUVEZ utiliser un fichier de modèle de servir comme un rasoir corps du message électronique modèle. Vous pouvez utiliser n'importe quelle extension que vous choisissez parce que vous pouvez charger un fichier en tant que texte .Net. Nous allons utiliser l'exemple suivant pour le modèle:
Enregistrer le fichier en tant que quelque chose comme "WelcomeMessage.cshtml", "WelcomeMessage.modèle", etc. Sélectionnez le fichier dans l'Explorateur de solutions et dans la fenêtre Propriétés, sélectionnez "Copier dans le Répertoire de Sortie" et choisissez "Copy". Le seul point est que ce modèle doit accompagner la demande et ne compile pas en tant que classe.
Maintenant, nous voulons analyser comme une chaîne de caractères à attribuer à un corps du message électronique. Rasoir prendre le modèle et un modèle de classe, les analyser, puis de retourner une chaîne de caractères avec les valeurs nécessaires.
Dans votre application, vous devez ajouter le RazorEngine paquet qui peut être trouvé avec NuGet. Voici un court exemple de code pour illustrer l'utilisation:
C'est comme pour les autres réponses, mais montre un moyen rapide pour charger le modèle à partir d'un fichier texte.
Vous devriez peut-être envisager de MvcMailer. RazorEngine est (très) bon si vous n'êtes pas déjà en utilisant MVC (je l'ai utilisé avec succès dans un webforms contexte), mais si vous avez MVC, vous pourriez bien prendre avantage de cela.
(via Hanselmen du package NuGet de la semaine 2)
HttpContext
, c'est pourquoi RazorEngine est un bon choix pour les non-MVC utilisateurs, ou si vous prévoyez d'envoyer des e-mails à partir d'une tâche en arrière-plan.Vous pouvez également utiliser Essentiel Mail: Rasoir paquet de NuGet. C'est la construction de plus de RazorEngine et fournit une interface simple pour les e-mails de rendu.
Message électronique modèle ressemble à quelque chose comme
Lire plus sur GitHub: https://github.com/smolyakoff/essential-templating/wiki/Email-Template-with-Razor
Mailzor
Liée à ce que l' @thiagoleite mentionné, j'ai pris Kazi Manzur Rashid idée (avec autorisation) et étendue pour être plus convivial pour la façon dont je voulais l'utiliser.
Afin de vérifier le projet github 'mailzor'
C'est aussi sur Nuget.org/packages/mailzor