Creare e impostare i contenuti delle email

Crea nuovo messaggio email

La classe MailMessage rappresenta un messaggio email e consente agli sviluppatori di creare nuovi messaggi email. Le proprietà di base dell’email come From, To, Subject e body possono essere facilmente associate al nuovo messaggio di posta creato. Allo stesso modo possiamo salvare il messaggio email in formati diversi come EML, MSG e MHTML.

  • Crea un’istanza della classe MailMessage.
  • Imposta le proprietà del messaggio di posta.
  • Salva il messaggio di posta in diversi formati.

Il frammento di codice seguente mostra come creare una nuova email con diverse proprietà.

Specificare più destinatari

MailMessage rappresenta un messaggio email. Le istanze della classe MailMessage sono utilizzate per costruire messaggi email che vengono trasmessi a un server SMTP usando la classe SmtpClient. Questo argomento mostra come specificare più indirizzi email. Gli indirizzi email possono essere specificati usando la classe MailMessage. Gli indirizzi email usati nella classe MailMessage sono:

  • To - Gli indirizzi dei destinatari possono essere specificati nel campo ‘To’. I destinatari del campo ‘To’ sono il pubblico principale del messaggio. Possono esserci più di un indirizzo destinatario
  • Cc - CC sta per "carbon copy" o "courtesy copy" e consente di aggiungere destinatari email che devono vedere l’email ma che non sono necessariamente tenuti ad agire su di essa. Manager, ad esempio, o membri del tuo team che devono essere informati di una conversazione. Con Aspose.Email, gli indirizzi CC possono essere specificati nel tuo codice. In questo modo, le email automatiche, o tutte le email a un indirizzo specifico, possono essere copiate al personale pertinente.
  • Bcc - Bcc, blind carbon copy, consente di inviare un’email a un destinatario nascosto agli altri destinatari. Dove un CC appare nelle informazioni email che i destinatari principali vedono, un Bcc no. È pensato per notifiche nascoste. 

Per specificare più indirizzi email in un messaggio, segui questi passaggi:

  1. Crea un’istanza della classe MailMessage.
  2. Specifica il mittente e più indirizzi To, Cc e Bcc usando l’istanza MailMessage.
  3. Crea un’istanza della classe SmtpClient e invia l’email usando il metodo Send.

Il campione di codice seguente mostra come specificare più indirizzi To, CC e BCC.

Cambio degli indirizzi email in un nome amichevole

I campioni di programmazione seguenti mostrano come trasformare gli indirizzi email in nomi descrittivi in un messaggio email. Un nome descrittivo è un nome più leggibile rispetto all’indirizzo email, ad esempio John Smith invece di js346@domain.com. Quando si invia un’email, possiamo associare un nome descrittivo a un indirizzo email nel costruttore della classe MailMessage.

Per cambiare gli indirizzi email in nomi amichevoli in un messaggio email, segui questi passaggi:

  • Crea un’istanza della classe MailMessage e specifica gli indirizzi email nei campi To e From insieme a nomi amichevoli.
  • Specifica gli indirizzi email Cc e Bcc insieme a nomi amichevoli chiamando il costruttore della classe MailMessage nell’istanza MailMessage.
  • Crea un’istanza della classe SmtpClient e invia l’email usando il metodo Send.

Il seguente frammento di codice mostra come visualizzare i Nomi per gli indirizzi email.

Imposta corpo mail

La classe MailMessage rappresenta un messaggio email. Le istanze della classe MailMessage sono usate per costruire messaggi email che vengono trasmessi a un server SMTP per la consegna usando la classe SmtpClient. Un corpo mail può essere specificato usando la classe MailMessage. Un’email può avere più corpi. Ci sono due tipi di corpi mail nella classe MailMessage:

  • Corpo HTML
  • Corpo testuale

Oltre a HtmlBody e TextBody, Aspose.Email ha altre due proprietà di sola lettura relative al corpo della mail:

  • IsBodyText: indica all’utente se il corpo è testo.
  • IsBodyHtml: indica all’utente se il corpo è HTML o testo semplice.

Questo articolo mostra come definire testo semplice o HTML per il corpo, impostare testo alternativo e codificare il corpo dell’email.

Impostazione del corpo HTML

HtmlBody è usato per specificare il contenuto HTML del corpo di un messaggio. HtmlBody deve essere racchiuso tra i tag . Il seguente frammento di codice mostra come impostare il corpo HTML.

Impostazione del testo alternativo

Usa la classe AlternateView per specificare copie di un messaggio email in formati diversi. Ad esempio, se invii un messaggio in HTML, potresti anche fornire una versione testo semplice nel caso in cui alcuni destinatari usino client email che non possono visualizzare contenuti HTML. Questa classe ha due proprietà, LinkedResources e BaseUri, che sono usate per risolvere gli URL all’interno del contenuto dell’email.

  • LinkedResources è una collezione di oggetti LinkedResources. Quando renderizzati, gli URL nel contenuto dell’email sono prima confrontati con gli URL nel Content Link di ogni oggetto LinkedResources nella collezione, e risolti.
  • BaseUri è usato dal lettore di mail per risolvere URL relativi all’interno del corpo, e anche per risolvere URL di Content Link relativi, nella collezione LinkedResources.

Il seguente frammento di codice mostra come impostare il testo alternativo.

Caratteristiche di MailMessage

Il MailMessage classe rappresenta il contenuto di un messaggio email. Le istanze della MailMessage classe viene utilizzata per costruire un messaggio email che viene trasmesso a un server SMTP per la consegna utilizzando il SmtpClient classe. Questo articolo mostra come usare MailMessage funzionalità di utilità della classe per controllare le seguenti caratteristiche dell’email:

  • Data e ora - Through the MailMessage proprietà class Date consente di ottenere o impostare la data e l’ora di un’email.
  • Priorità del messaggio - Il MailPriority classe specifica i livelli di priorità per l’invio di un messaggio email. Può essere bassa, normale o alta. La priorità influenza la velocità di trasmissione e la consegna.
  • Sensibilità del messaggio - Il MailSensitivity classe specifica cinque livelli di sensibilità.
  • Notifica di consegna - Le notifiche di consegna informano il mittente che l’email inviata è stata recapitata nella casella del destinatario.

Per impostazione predefinita, la data è la data effettiva in cui il messaggio è stato inviato e l’ora è l’ora in cui è stato inviato, come visualizzato da Microsoft Outlook. Tuttavia, il vero tempo di consegna dell’email è aggiunto dal server SMTP stesso nell’intestazione della posta. Ad esempio, di seguito è mostrata un’intestazione di posta comune, dove Date imposta il campo Date.

Il frammento di codice sotto illustra come ciascuna delle funzionalità discusse sopra può essere usata.

Richiedere una Conferma di Lettura

Gli esempi di programmazione seguenti mostrano come è possibile richiedere una ricevuta di lettura. Il MailMessage classe DeliveryNotificationOptions La proprietà di enumerazione descrive le opzioni di notifica di consegna per un’email. Per richiedere una ricevuta di lettura dopo aver inviato un’email, segui questi passaggi:

  1. Crea un’istanza di MailMessage classe.
  2. Specifica mittente, destinatario e corpo HTML per l’email nella MailMessage istanza.
  3. Specificare il DeliveryNotificationOptions in altri MailMessage istanze.
  4. Crea un’istanza di SmtpClient classe e invia l’email usando il metodo Send.

Le richieste di ricevuta di lettura potrebbero non essere sempre onorate perché:

  • Un client di posta potrebbe non implementare tale funzionalità.
  • L’utente finale potrebbe avere quella funzionalità disattivata.
  • L’utente finale potrebbe scegliere di non inviarne una.

Il seguente frammento di codice mostra come richiedere una ricevuta di lettura.

Impostare le Intestazioni Email

Le intestazioni email rappresentano uno standard Internet e gli RFC definiscono i campi di intestazione inclusi nei messaggi email Internet. Un’intestazione email può essere specificata usando la classe MailMessage. I tipi di intestazione comuni sono definiti nella classe HeaderType. È una classe sealed che funziona come una normale enumerazione.

Normalmente un’intestazione email contiene questi campi:

  • To: Gli indirizzi dei destinatari possono essere specificati nel campo To. I destinatari del campo To sono il pubblico principale del messaggio. Possono esserci più di un indirizzo destinatario.
  • From: Questo campo mostra l’indirizzo email del mittente del messaggio.
  • Cc: Consente agli utenti di inviare un messaggio come "Carbon Copy" o "Courtesy Copy". cioè, il destinatario non è tenuto a rispondere o agire. Tipicamente, il personale di supervisione è notificato tramite CC.
  • Bcc: sta per Blind Carbon Copy, si riferisce alla pratica di inviare un messaggio a più destinatari in modo che ciò che ricevono non contenga l’elenco completo dei destinatari. È destinato a notifiche nascoste.
  • ReplyTo: Questo campo intestazione indica dove il mittente vuole che vengano inviate le risposte.
  • Subject: Titolo, intestazione, oggetto. Spesso usato come indicatore di thread per messaggi di risposta o commento ad altri messaggi.
  • Date: Questa intestazione specifica una data (e ora). Normalmente è la data in cui il messaggio è stato composto e inviato.
  • XMailer: Informazioni sul software client dell’autore. Esempio: X-Mailer: Aspose.Email XMailer è usato dai client di posta. Diversi client di posta avranno valori XMailer differenti. Il valore XMailer di MS Outlook è Microsoft Office Outlook, Build 11.0.5510. Viene ignorato dal destinatario o dal lettore di email.

Normalmente, un’intestazione email appare così:


 Reply-To: reply@reply.com

From: sender@sender.com

To: guangzhou@guangzhoo.com

Subject: test mail

Date: 6 Mar 2006 8:2:2 +0800

X-Mailer: Aspose.Email

Per personalizzare un’intestazione email, segui questi passaggi:

  • Crea un’istanza di MailMessage classe.
  • Specifica To, From, CC, Bcc, ReplyTo, Subject, Date e XMailer usando un’istanza della MailMessage.
  • Crea un’istanza di MimeHeader classe e specifica l’intestazione segreta.
  • Aggiungi l’intestazione segreta al MailMessage istanza.

Il frammento di codice seguente mostra come impostare le intestazioni email.

Il frammento di codice sopra produce un’intestazione email nel seguente formato. Questo può essere osservato aprendo il file risultante "MsgHeaders.msg" in Microsoft Outlook e visualizzando le Proprietà.


 Reply-To: reply@reply.com

From: sender@sender.com

To: receiver1@receiver.com

CC: receiver2@receiver.com

BCC: receiver3@receiver.com

Subject: test mail

Date: 6 Mar 2006 8:2:2 +0800

X-Mailer: Aspose.Email

secret-header: mystery

Inserire l’Intestazione in una Posizione Specifica

Il Aggiungi metodo di HeadersCollection classe inserisce l’intestazione alla fine della collezione. Tuttavia, a volte può essere necessario inserire un’intestazione in una posizione specifica. In tal caso, la Aggiungi il metodo non sarà d’aiuto. Per ottenere ciò, usa il Insert metodo del HeadersCollection. Se la collezione contiene intestazioni con lo stesso nome, questa intestazione verrà inserita prima delle altre intestazioni con lo stesso nome. Il seguente frammento di codice mostra come inserire un’intestazione in una posizione specifica.

Aggiungere Intestazioni Personalizzate all’email

I campioni di programmazione seguenti mostrano come specificare un’intestazione personalizzata in un messaggio email. Un’intestazione email può essere specificata usando il MailMessage classe. Per specificare un’intestazione personalizzata in un messaggio email, segui questi passaggi:

  1. Crea un’istanza di MailMessage classe.
  2. Specifica i valori to, from e subject usando l’istanza MailMessage.
  3. Aggiungi l’intestazione segreta nella MailMessage istanza.
  4. Crea un’istanza della classe SmtpClient e invia l’email usando il metodo Send.

Il seguente frammento di codice mostra come aggiungere intestazioni personalizzate all’email.