Vytváření a nastavení obsahu e‑mailů

Vytvořit novou e‑mailovou zprávu

Aspose.Email pro Java umožňuje vývojářům vytvářet MIME (Multipurpose Internet Mail Extensions) zprávy od začátku. Hlavní třída pro tento účel v API Aspose.Email pro Java je MailMessage třída. Tento článek vysvětluje kroky potřebné pro vytvoření e‑mailových zpráv v formátech EML, MSG a MTH pomocí Aspose.Email pro Java.

Pro vytvoření e‑mailové zprávy od nuly:

  1. Vytvořte instanci třídy MailMessage.
  2. Nastavte předmět zprávy pomocí setSubject() metoda.
  3. Nastavte tělo zprávy pomocí setHtmlBody() metoda.
  4. Nastavte odesílatele e‑mailu pomocí setFrom() metoda.
  5. Nastavte příjemce v poli TO pomocí getTo().add() metoda.
  6. Nastavte příjemce v poli CC pomocí getCC().add() metoda.
  7. Zavolejte Save() metoda pro uložení souboru zprávy na disk ve formátech MSG, EML a MHT.  

Specifikace více příjemců

The MailMessage představuje e‑mailovou zprávu. Instance třídy MailMessage se používají k vytvoření e‑mailových zpráv, které jsou odesílány na SMTP server pomocí SmtpClient třída. Tento článek ukazuje, jak specifikovat více než jednu e‑mailovou adresu. E‑mailové adresy lze zadat pomocí třídy MailMessage. E‑mailové adresy používané v třídě MailMessage jsou:

  • To – Adresy příjemců lze zadat v poli ‘To’. Příjemci v poli ‘To’ jsou hlavní publikum zprávy. Může být zadáno více než jedna adresa příjemce.
  • Cc – CC (carbon copy, neboli "zdvořilá kopie") vám umožňuje přidat e‑mailové příjemce, kteří potřebují e‑mail vidět, ale nemusí na něj nutně reagovat. Například manažeři nebo členové vašeho týmu, kteří potřebují být informováni o konverzaci. S Aspose.Email lze CC adresy zadat v kódu. Tím lze automatické e‑maily nebo všechny e‑maily na konkrétní adresu kopírovat relevantním osobám.
  • Bcc – Bcc (blind carbon copy) vám umožňuje poslat e‑mail příjemci, který je skrytý před ostatními příjemci. Zatímco CC se zobrazí v informacích o e‑mailu, které vidí hlavní příjemci, Bcc se nezobrazí. Slouží k skryté notifikaci. 

Pro specifikaci více e‑mailových adres v e‑mailové zprávě postupujte takto:

  1. Vytvořte instanci třídy MailMessage.
  2. Zadejte pole From a více adres pro To, Cc a Bcc pomocí instance MailMessage.
  3. Vytvořte instanci třídy SmtpClient a odešlete e‑mail pomocí metody Send.

Níže uvedený ukázkový kód ukazuje, jak lze specifikovat více adres pro To, CC a BCC.

Změna e‑mailových adres na přátelské jméno

Níže uváděné programové ukázky demonstrují, jak v e‑mailové zprávě změnit e‑mailové adresy na přátelská jména. Přátelské jméno je název, který je pro člověka přívětivější než samotná e‑mailová adresa, například John Smith místo js346@domain.com. Při odesílání e‑mailu můžeme přátelské jméno přiřadit k e‑mailové adrese v MailMessage konstruktor třídy.

Pro změnu e‑mailových adres na přátelská jména v e‑mailové zprávě postupujte takto:

  • Vytvořte instanci třídy MailMessage a zadejte e‑mailové adresy v polích To a From spolu s přátelskými jmény.
  • Zadejte e‑mailové adresy Cc a Bcc spolu s přátelskými jmény voláním konstruktoru třídy MailMessage v instanci MailMessage.
  • Vytvořte instanci třídy SmtpClient a odešlete e‑mail pomocí metody Send.

Následující úryvek kódu ukazuje, jak zobrazit jména pro e‑mailové adresy.

Nastavit tělo e‑mailu

The MailMessage třída představuje e‑mailovou zprávu. Instance třídy MailMessage se používají k vytvoření e‑mailových zpráv, které jsou předány SMTP serveru k doručení pomocí SmtpClient třída. Tělo e‑mailu lze specifikovat pomocí třídy MailMessage. Tělo e‑mailu lze zadat pomocí setHtmlBody metody v MailMessage.

Kromě HtmlBody, Aspose.Email má další metodu související s tělem e‑mailu:

  • isBodyHtml: informuje uživatele, zda je tělo HTML nebo prostý text.

Tento článek ukazuje, jak definovat HTML text těla a nastavit alternativní text.

Nastavení HTML těla

HtmlBody slouží k zadání HTML obsahu těla zprávy. HtmlBody musí být uzavřeno mezi značkami . Následující úrynek kódu ukazuje, jak nastavit HTML tělo.

Nastavení alternativního textu

Použijte AlternateView třída pro specifikaci kopií e‑mailové zprávy v různých formátech. Například pokud odešlete zprávu v HTML, můžete také poskytnout verzi v prostém textu pro příjemce, kteří používají čtečky e‑mailů, jež nemohou zobrazit HTML obsah. Tato třída má dva vlastnosti, LinkedResources a BaseUri, které se používají k řešení URL v obsahu e‑mailu.

  • LinkedResources je sbírka objektů LinkedResources. Při renderování jsou URL v e‑mailovém obsahu nejprve porovnány s URL v Content Link každého objektu LinkedResources ve sbírce LinkedResources a následně vyřešeny.
  • BaseUri používá čtečka e‑mailů k řešení relativních URL v těle zprávy a také k řešení relativních URL v Content Link ve sbírce LinkedResources.

Následující úrynek kódu ukazuje, jak nastavit alternativní text.

Určení kódování těla e‑mailu

Typ obsahu určuje formát e‑mailového obsahu: znaková sada. Například několik běžných znakových sad poskytovaných ve java.nio.Charset jsou:

  • US-ASCII – sedmibitový ASCII, také známý jako ISO646-US, základní latinská část Unicode znakové sady
  • ISO-8859-1 – ISO Latin Alphabet No. 1, také známý jako ISO-LATIN-1
  • UTF-8 – osmiibitový UCS Transformation Format
  • UTF-16BE – šestnáctibitový UCS Transformation Format, pořadí bajtů big-endian
  • UTF-16LE – šestnáctibitový UCS Transformation Format, pořadí bajtů little-endian
  • UTF-16 – šestnáctibitový UCS Transformation Format, pořadí bajtů určené volitelným označením pořadí bajtů (BOM)

Aspose.Email používá BodyEncoding vlastnost třídy MailMessage pro specifikaci kódování těla e‑mailu. Pro zakódování těla e‑mailové zprávy postupujte podle níže uvedených kroků:

  1. Vytvořte instanci třídy MailMessage.
  2. Zadejte odesílatele, příjemce a HTML tělo e‑mailu v instanci MailMessage.
  3. Zadejte hodnotu vlastnosti BodyEncoding.
  4. Vytvořte instanci SmtpClient třída a odešlete e‑mail pomocí metody Send.

Vlastnosti MailMessage

The MailMessage třída představuje obsah e‑mailové zprávy. Instance třídy MailMessage se používají k vytvoření e‑mailové zprávy, která je předána SMTP serveru k doručení pomocí SmtpClient třída. Tento článek ukazuje, jak využít utilitární funkce třídy MailMessage pro řízení následujících vlastností e‑mailu:

  • Datum a čas – Prostřednictvím třídy MailMessage setDate metoda, kterou nastavujeme datum a čas e‑mailu.
  • Priorita zprávyMailPriority třída určuje úrovně priority pro odeslání e‑mailové zprávy. Může být nízká, normální nebo vysoká. Priorita ovlivňuje rychlost přenosu a doručení.
  • Citlivost zprávyMailSensitivity třída určuje pět úrovní citlivosti.
  • Oznámení o doručení – Oznámení o doručení informují odesílatele, že odeslaný e‑mail byl doručen do schránek příjemce.

Ve výchozím nastavení je datum skutečným datem odeslání zprávy a čas je čas odeslání, jak jej zobrazuje Microsoft Outlook. Skutečný čas doručení e‑mailu však přidává samotný SMTP server do hlavičky zprávy. Například níže je běžná hlavička e‑mailu, kde bylo pole Date nastaveno pomocí MailMessage.setDate.

Níže uvedený úryvek kódu ilustruje, jak lze každou z výše popsaných funkcí použít.

Požadování doručenky

Níže uvedené programové ukázky ukazují, jak můžete požádat o doručenku. Třída MailMessage DeliveryNotificationOptions Vlastnost výčtu popisuje volby oznámení o doručení pro e‑mail. Chcete‑li požádat o doručenku po odeslání e‑mailu, postupujte podle těchto kroků:

  1. Vytvořte instanci třídy MailMessage.
  2. Zadejte odesílatele, příjemce a HTML tělo e‑mailu v instanci MailMessage.
  3. Zadejte DeliveryNotificationOptions v jiných instancích MailMessage.
  4. Vytvořte instanci třídy SmtpClient a odešlete e‑mail pomocí metody Send.

Požadavky na potvrzení přečtení nemusí být vždy vyhověny, protože:

  • Poštovní klient nemusí tuto funkci implementovat.
  • Koncový uživatel může mít tuto funkci vypnutou.
  • Koncový uživatel se může rozhodnout jej neodeslat.

Následující úryvek kódu ukazuje, jak požádat o potvrzení přečtení.

Nastavení e‑mailových hlaviček

Hlavičky e‑mailů představují internetový standard a RFC definují pole hlaviček, které jsou zahrnuty v internetových e‑mailových zprávách. Hlavičku e‑mailu lze specifikovat pomocí MailMessage třída. Běžné typy hlaviček jsou definovány v HeaderType třída. Jedná se o uzavřenou třídu, která funguje jako běžný výčet.

Obvykle hlavička e‑mailu obsahuje následující pole:

  • To: Adresy příjemců lze zadat do pole To. Příjemci v poli To jsou hlavní adresáti zprávy. Může zde být více než jedna adresa příjemce.
  • From: Toto pole uvádí e‑mailovou adresu odesílatele zprávy.
  • Cc: Umožňuje uživatelům poslat zprávu jako „Carbon Copy“ či „Courtesy Copy“. Příjemce není očekáván k odpovědi nebo akci. Obvykle jsou informováni nadřízení pomocí CC.
  • Bcc: Zkratka pro Blind Carbon Copy, označuje praxi odesílání zprávy více příjemcům tak, že příjemci nevidí kompletní seznam ostatních příjemců. Slouží k skrytému oznámení.
  • ReplyTo: Toto pole hlavičky určuje, kam má odesílatel směřovat odpovědi.
  • Subject: Název, titulek, předmět. Často se používá jako indikátor vlákna pro zprávy odpovídající nebo komentující jiné zprávy.
  • Date: Tato hlavička určuje datum (a čas). Obvykle se jedná o datum, kdy byla zpráva vytvořena a odeslána.
  • XMailer: Informace o klientském softwaru odesílatele. Příklad: X-Mailer: Aspose.Email. XMailer je používán e‑mailovými klienty. Různí klienti mají různé hodnoty XMailer. Hodnota XMailer v MS Outlook je Microsoft Office Outlook, Build 11.0.5510. Příjemce nebo čtečka e‑mailu tuto hodnotu ignoruje.

Obvykle vypadá hlavička e‑mailu takto:


 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

Pro úpravu hlavičky e‑mailu postupujte podle následujících kroků:

  • Vytvořte instanci MailMessage třída.
  • Určete To, From, CC, Bcc, ReplyTo, Subject, Date a XMailer pomocí instance třídy MailMessage.
  • Vytvořte instanci MimeHeader třídu a specifikujte tajnou hlavičku.
  • Přidejte tajnou hlavičku do instance MailMessage.

V uvedeném kódu jsme upravili hlavičku e‑mailu.

Výše uvedený úryvek kódu vytvoří e‑mailovou hlavičku v následujícím formátu. To lze pozorovat otevřením souboru MsgHeaders.msg v Microsoft Outlook a zobrazením jeho vlastností.


 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

Vložení hlavičky na konkrétní místo

The Add metoda třídy HeadersCollection vloží hlavičku na konec kolekce. Někdy však může být nutné vložit hlavičku na konkrétní místo. V takovém případě metoda Add nepomůže. Pro dosažení tohoto cíle použijte Insert metoda třídy HeadersCollection. Pokud kolekce obsahuje hlavičky se stejným názvem, tato hlavička bude vložena před ostatní hlavičky se stejným názvem. Níže je podpis metody Insert a ukázkový kód pro použití.


 Method Signature

HeaderCollection.insert(String name, String value)

Přidávání vlastních hlaviček do e‑mailu

Níže uvedené programové ukázky demonstrují, jak specifikovat vlastní hlavičku v e‑mailové zprávě. Hlavičku e‑mailu lze specifikovat pomocí třídy MailMessage. Pro určení vlastní hlavičky v e‑mailové zprávě postupujte podle následujících kroků:

  1. Vytvořte instanci třídy MailMessage.
  2. Určete hodnoty to, from a subject pomocí instance MailMessage.
  3. Přidejte tajnou hlavičku do instance MailMessage.
  4. Vytvořte instanci třídy SmtpClient a odešlete e‑mail pomocí metody Send.

Následující úryvek kódu ukazuje, jak přidat vlastní hlavičky do e‑mailu.

Podepisování e‑mailů pomocí DKIM

Aspose.Email umožňuje podepisovat e‑maily pomocí DKIM (DomainKeys Identified Mail). To umožňuje organizaci převzít odpovědnost za zprávu, která je v cestě (o DKIM). DKIM přidává digitální podpis k hlavičkám e‑mailové zprávy, který může být ověřen příjemci. Veřejný klíč odesílatele umožňuje příjemci ověřit, že podpis odpovídá obsahu zprávy. Třída MailMessage dKIMSign metoda se používá k nastavení kryptografických a podpisových informací pro podepsání zprávy. Následující úryvek kódu ukazuje, jak podepsat e‑maily pomocí DKIM.

Provádění hromadného dopisu

Hromadné dopisy vám pomáhají vytvořit a odeslat skupinu podobných e‑mailových zpráv. Základ e‑mailů je stejný, ale obsah lze personalizovat. Typicky se k personalizaci e‑mailu používají kontaktní údaje příjemce (jméno, příjmení, firma atd.).

|todo:image_alt_text| | :- | |Obrázek: Ilustrace, jak funguje hromadný dopis|

Pro provedení hromadného dopisu pomocí Aspose.Email postupujte podle následujících kroků:

  1. Vytvořte funkci s názvem signature
  2. Vytvořte instanci MailMessage třída.
  3. Určete odesílatele, příjemce, předmět a tělo zprávy.
  4. Vytvořte podpis pro konec e‑mailu.
  5. Vytvořte instanci TemplateRoutine třídě a předáte jí MailMessage instance.
  6. Získejte podpis v TemplateRoutine instance.
  7. Vytvořte instanci DataTable třída.
  8. Přidejte sloupce Receipt, FirstName a LastName jako zdroje dat do třídy DataTable
  9. Vytvořte instanci DataRow třída
  10. Určete adresu potvrzení, křestní a příjmení v objektu DataRow
  11. Vytvořte instanci MailMessageCollection třída
  12. Určete TemplateRoutine a instance DataTable v MailMessageCollection instance.
  13. Vytvořte instanci SmtpClient třídy a určete server, port, uživatelské jméno a heslo
  14. Odesílejte e‑maily pomocí SmtpClient metoda BulkSendAsync třídy

Níže uvedený kód odesílá e‑mail jedné osobě od tří dalších.