2009-06-03 7 views
0

Je suis en train d'écrire une application web qui envoie divers emails avec du contenu textuel dynamique en utilisant les classes API SmtpClient et MailMessage .net - Je trouve juste que je suis noyé dans une mer de cordonniers.Envoyer des emails à partir de code - Frameworks

Existe-t-il des cadres d'e-mails/de gabarit pour vous aider dans ce genre de situation? Cela fonctionne également dans confiance moyenne.

Répondre

0

j'utiliser un cadre de modèle comme NVelocity

EDIT: Il semble que le SourceForge NVelocity est mort, mais les gars de Castle Project avaient fourchue il. Comme je l'utilise Velocity pour Java et NVelocity est le port pour .NET, je le recommande;)

+0

dernière version 2003? Toujours à la hauteur? – Dan

+0

Voici la réponse, hehe - http://stackoverflow.com/questions/699094/is-the-nvelocity-project-dead-are-there-alternatives –

0

Essayez T4 si vous ne veut pas introduire une autre dépendance à votre projet.

+0

T4 fait sembler apte à cet effet – Dan

+0

T4 est un cadre de templating, qui répond à votre question "Existe-t-il des cadres d'e-mails/de gabarit pour vous aider dans ce genre de situation?" – dss539

0

Je n'utilise pas de structure de modèle, mais j'utilise des pages HTML comme modèles d'e-mail. J'ai ensuite mis dans des variables comme "< # UserName #>" dans le code HTML qui est remplacé dans le code. Cela me permet de modifier facilement le corps de l'e-mail sans avoir à toucher le code .... Sauf si je veux ajouter quelques nouveaux varibles. L'autre avantage de l'utilisation de pages HTML standard est la possibilité pour les non-programmeurs de concevoir/gérer la disposition du corps de l'e-mail ...

+0

Et s'il veut inclure une boucle dans son 'template'? –

0

Dans certains cas particuliers, lorsque je ne peux pas utiliser un outil et que je dois écrire le mien et comme vous l'avez dit vouloir faire des boucles à travers le modèle.

Je crée une page ASPX normale dans mon projet et a mis là tous les contrôles i besoin « des contrôles serveur, les contrôles de liaison de données »

Et puis appeler cette page à l'aide d'un appel silencieux:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("MyASPXPage.aspx"); 
request.Method = "GET"; 
response = request.GetResponse(); 
reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); 
result = reader.ReadToEnd(); 

après que vous aurez la variable de chaîne de résultat contenant toute la page que vous pouvez envoyer en tant que courrier.

Je l'ai utilisé une fois et cela a bien fonctionné.

Mais si vous avez trouvé un outil pour vous aider, ce sera encore mieux.

Questions connexes