Soluzioni per l'invio di un'e-mail HTML, in cui l'HTML proviene da un file HTML. Ambiente VB.Net/ClickOnce
Domanda
Utilizzo:
Gli utenti creano graziose lettere di notizie HTML in un'altra app. Pubblicano la newsletter sul Web, ma vogliono anche impostare i contenuti del file della lettera di notizie HTML come corpo di un messaggio di posta elettronica e inviarlo utilizzando A pplication I n Q Uestion.
Gli utenti comprendono di utilizzare riferimenti assoluti a link e immagini durante l'invio di una newsletter elettronica.
Ambiente:
AIQ è un'app VB.Net distribuita tramite ClickOnce. È un'app Intranet; si può essere certi che MS Office 2003 e le dll di interop 11 siano sui computer di destinazione.
Restrizioni:
MAPI è uscito. Mangia l'HTML.
Dato che si tratta di una distribuzione ClickOnce, non possiamo registrare dll (penso, correggimi se sbaglio). Pertanto CDO e COM sono fuori (di nuovo, potrei sbagliarmi .... Sarei felice di dimostrarlo).
Soluzione
Non sono sicuro esattamente cosa stai chiedendo. Se stai chiedendo come inviare una e-mail, .NET Framework include lo spazio dei nomi System.Net.Mail per l'invio di e-mail tramite SMTP.
Puoi creare un nuovo SmtpClient
. Se è distribuito su una LAN, puoi impostare la proprietà Host
su un server Exchange o un altro server SMTP.
È quindi possibile creare un MailMessage
con il corpo impostato sul contenuto HTML da inviare.
Ecco un esempio:
//create the mail message
MailMessage mail = new MailMessage();
//set the addresses
mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");
//set the content
mail.Subject = "This is an email";
mail.Body = "this is a sample body with html in it. <b>This is bold</b> <font color=#336699>This is blue</font>";
mail.IsBodyHtml = true;
//send the message
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Send(mail);