Mandare file txt come corpo mail

martedì 20 agosto 2013 - 15.27
Tag Elenco Tags  VB.NET  |  .NET 4.0

86Marco Profilo | Expert

Salve ragazzi,
ho una richiesta che mi viene difficile da implementare.

Ho un file txt che contiene molte righe (una serie di istruzioni) da inviare ai clienti che si registrano presso un sito.

Alla fine di questo txt avrei bisogno di inserire dei dati che processo in asp.net del tipo NumeroProtocollo, Username e Password.

Da codice riesco ad impostare come corpo della mail il file txt, ma come faccio a impostare i valori che mi servono e che vengono processati a run-time?

Ho inserito sul txt <%NumeroProtocollo%> <%Username%> <%Password%> ma non funziona... sapete aiutarmi???
Grazie.

alx_81 Profilo | Guru

>Salve ragazzi,
Ciao

>Da codice riesco ad impostare come corpo della mail il file txt,
>ma come faccio a impostare i valori che mi servono e che vengono
>processati a run-time?
diciamo che il tuo txt è più un template.. Devi quindi leggerlo appena prima di mandare l'email, caricarlo in memory, modificarlo, salvarlo su un temp storage e poi allegarlo modificato come copia del template all'email.
Ti servirà il System.IO: http://msdn.microsoft.com/en-us/library/system.io.aspx

>Grazie.
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

86Marco Profilo | Expert

Ciao Alex.

Riesco tranquillamente a leggerlo e ad impostare il contenuto del TXT come contenuto del body della mail.
L'unico problema è riuscire a impostare i parametri Username e password.

Sapresti guidarmi meglio?
Grazue

alx_81 Profilo | Guru

>L'unico problema è riuscire a impostare i parametri Username e password.
sul txt che prendi metti dei placeholder tipo quelli che indicavi tu, oppure {USERNAME} e {PASSWORD}..
Quando leggi il file template (coi segnaposto) fai replace. Dove ti perdi?
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

86Marco Profilo | Expert

Hai ragione.
Provo a fare con dei replace :)

Ti faccio sapere.
Garzieee

alx_81 Profilo | Guru

>Hai ragione.
>Provo a fare con dei replace :)
io userei proprio le String.Format così puoi dire invece di "{QUALCOSA}", "{0}" ecc.. leggi la riga dove sai che ci sono i param e fai:
String.Format(rigaLetta, username, password)

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

andrestu Profilo | Expert

puoi usare anche lo stringbuilder

StringBuilder sb = new StringBuilder();
sb.Append(File.ReadAllText("~/percorsoDelFile.txt"));
sb.Replace("<valore1>", ... );
mail.Body = sb.ToString();

Andrea Restucci - Web Developer

gsistemi Profilo | Junior Member

carica il testo del file txt, poi utilizza l'istruzione qui sotto per sostituire i tuoi markup con i dati che elabori.

testo = replace( testo, '<% username %>', variabile con la username )
testo = replace( testo, '<% password %>', variabile con la password )

CIAO!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5