Vytváření a odesílání e-mailů aplikace Outlook Java

Aspose.Email for Java je výkonné rozhraní API pro zpracování e-mailů, které poskytuje všechny základní i pokročilé funkce pro správu e-mailů. Umožňuje vám vytvářet e-mailové zprávy aplikace Outlook, číst existující e-maily a převádět zprávy MSG, EML, PST, OST, MBOX a MHT do jiných formátů z vašich aplikací Java. V tomto článku předvedu některé základní, ale důležité funkce, jak vytvářet a odesílat e-maily Outlook pomocí Java.

V tomto článku se budu zabývat následujícími funkcemi vytváření a odesílání e-mailů:

Java Email API - Instalace

Aspose.Email pro Javu lze stáhnout ze sekce Ke stažení nebo nainstalovat pomocí následujících konfigurací Maven.

úložiště:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Závislost:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>20.3</version>
    <classifier>jdk16</classifier>
</dependency>

Vytvářejte e-mailové zprávy aplikace Outlook pomocí Java

Aspose.Email for Java umožňuje vytvářet e-mailové zprávy a ukládat je v požadovaném e-mailovém formátu včetně EML, EMLX, MSG a MHTML. Následují kroky k vytvoření e-mailové zprávy a jejímu uložení jako souboru.

  • Vytvořte instanci třídy MailMessage.
  • Nastavte vlastnosti zprávy, jako je Předmět, Tělo, Komu, Kopie atd.
  • V případě potřeby přidejte přílohy.
  • Uložte e-mailovou zprávu v požadovaném formátu pomocí metody MailMessage.save().

Následující ukázka kódu ukazuje, jak vytvořit e-mailovou zprávu aplikace Outlook pomocí jazyka Java.

MailMessage message = new MailMessage();

// Nastavte předmět zprávy, tělo a informace o odesílateli
message.setSubject("New message created by Aspose.Email for .NET");
message.setBody("This is the body of the email.");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// Přidat k příjemcům a příjemcům kopie
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));

// Přidejte přílohy
message.getAttachments().addItem(new Attachment("word.docx"));

// Uložte zprávu ve formátech EML, EMLX, MSG a MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
message.save("EmailMessage.emlx", SaveOptions.createSaveOptions(MailMessageSaveType.getEmlxFormat()));
message.save("EmailMessage.msg", SaveOptions.getDefaultMsgUnicode());
message.save("EmailMessage.mhtml", SaveOptions.getDefaultMhtml());

Vytvořte e-mail s tělem HTML pomocí Java

V předchozím příkladu jsme jednoduše vytvořili e-mail ve formátu prostého textu a uložili jej jako soubor e-mailu. Většina dnešních e-mailů je však vytvořena s tělem HTML, aby bylo možné dobře organizovat a prezentovat obsah e-mailu. V tomto případě se k určení rozvržení e-mailu používají značky HTML. Podívejme se, jak vytvořit e-mail s tělem HTML pomocí Aspose.Email for Java.

Následující ukázka kódu ukazuje, jak vytvořit e-mail s tělem HTML pomocí jazyka Java.

MailMessage message = new MailMessage();

// Nastavte předmět zprávy, tělo a informace o odesílateli
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// Přidat k příjemcům a příjemcům kopie
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Uložte zprávu ve formátech EML, EMLX, MSG a MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

Vytvořte e-mail s konkrétním kódováním pomocí Java

Aspose.Email for Java vám také umožňuje nastavit požadované kódování textu pro e-mailové zprávy. Kódovací standard se používá k informování e-mailové aplikace nebo prohlížeče o tom, jak interpretovat znaky v těle e-mailu. Následují kroky k vytvoření e-mailu s konkrétním standardem kódování.

Následující ukázka kódu ukazuje, jak vytvořit e-mail s konkrétním standardem kódování pomocí Java.

MailMessage message = new MailMessage();

// Nastavte předmět zprávy, tělo a informace o odesílateli
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// Zadejte kódování 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Přidat k příjemcům a příjemcům kopie
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Uložte zprávu ve formátech EML, EMLX, MSG a MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

Odesílejte e-maily Outlook pomocí Java

Jakmile vytvoříte e-mail, můžete jej odeslat jeho příjemcům pomocí protokolu SMTP (Simple Mail Transfer Protocol). Následují kroky k odeslání e-mailové zprávy pomocí Aspose.Email for Java.

  • Vytvořte novou e-mailovou zprávu nebo načtěte existující pomocí třídy MailMessage.
  • Vytvořte instanci třídy SmtpClient a nastavte jejího hostitele, uživatelské jméno, heslo a port.
  • Odešlete e-mail pomocí metody SmtpClient.send().

Následující ukázka kódu ukazuje, jak odeslat e-mail prostřednictvím klienta SMTP v jazyce Java.

MailMessage message = new MailMessage();

// Nastavte předmět zprávy, tělo a informace o odesílateli
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// Zadejte kódování 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Přidat k příjemcům a příjemcům kopie
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Vytvořte instanci třídy SmtpClient Class
SmtpClient client = new SmtpClient();

// Zadejte váš poštovní server, uživatelské jméno, heslo, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send odešle tuto zprávu
	client.send(message); 
}

catch (Exception ex)
{
	ex.printStackTrace();
}

Odesílejte e-maily asynchronně pomocí Java

Aspose.Email for Java vám také umožňuje odesílat e-maily asynchronně. K tomu můžete použít metodu SmtpClient.beginSend(). Následující ukázka kódu ukazuje, jak odesílat e-maily asynchronně pomocí Java.

MailMessage message = new MailMessage();

// Nastavte předmět zprávy, tělo a informace o odesílateli
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// Zadejte kódování 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Přidat k příjemcům a příjemcům kopie
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Vytvořte instanci třídy SmtpClient
SmtpClient client = new SmtpClient();

// Zadejte váš poštovní server, uživatelské jméno, heslo, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.beginSend odešle tuto zprávu
	client.beginSend(message); 
}

catch (Exception ex)
{
	ex.printStackTrace();
}

Odesílejte e-maily s potvrzením o přečtení pomocí Java

K e-mailovým zprávám můžete také přidat požadavek na potvrzení o přečtení. Tato funkce umožňuje obdržet upozornění po obdržení e-mailu. Následují kroky k vytvoření a odeslání e-mailové zprávy obsahující žádost o potvrzení o přečtení.

Následující ukázka kódu ukazuje, jak odeslat e-mail obsahující potvrzení o přečtení pomocí Java.

MailMessage message = new MailMessage();

// Nastavte předmět zprávy, tělo a informace o odesílateli
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));

// Nastavte možnosti oznámení
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com"); 

// Přidat k příjemcům 
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false)); 

// Vytvořte instanci třídy SmtpClient
SmtpClient client = new SmtpClient();

// Zadejte váš poštovní server, uživatelské jméno, heslo, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send odešle tuto zprávu
	client.send(message);
}

catch (Exception ex)
{
	ex.printStackTrace();
}

Odesílání hromadných e-mailů pomocí Java

Může nastat případ, kdy potřebujete odeslat velké množství různých e-mailů. V takovém případě můžete jednoduše přidat všechny e-mailové zprávy do objektu MailMessageCollection a předat je SMTP klientovi k odeslání. Následující ukázka kódu ukazuje, jak odesílat velké množství e-mailů pomocí Java.

// Vytvořte instance třídy MailMessage a zadejte Komu, Od, Předmět a Zpráva
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");

// Vytvořte instanci MailMessageCollection a přidejte do ní e-mailové zprávy
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);		

// Vytvořte SmtpClient a zadejte server, port, uživatelské jméno a heslo
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
 
try
{  
	// Odesílejte zprávy
	client.send(manyMsg); 
}
catch (Exception ex)
{
	  ex.printStackTrace();
}

Živá ukázka

Závěr

V tomto příspěvku jsem vám ukázal, jak vytvořit e-mailové zprávy aplikace Outlook a uložit je jako formáty EML, MSG a MTH pomocí Java. Kromě toho jsou také diskutovány různé způsoby odesílání e-mailů v Javě pomocí klienta STMP. Můžete se dozvědět více o Java Email Library Aspose pomocí dokumentace.

Viz také

Vytváření zpráv aplikace Outlook a odesílání e-mailů pomocí jazyka C#Načíst e-maily ze serveru POP3 v PythonZískat seznam kontaktů z Microsoft Exchange Server v C#
Získat seznam kontaktů z Microsoft Exchange Server v JavěImportovat kontakty z Gmailu v C#Importovat kontakty Gmailu v Javě
Přesunout e-mail do složky na Microsoft Exchange Server v C#Přesunout e-mail do složky na serveru Microsoft Exchange Server v jazyce JavaAnalyzovat soubory Outlook PST v Python
Čtení e-mailů ze sdílené poštovní schránky na serveru Exchange v jazyce C#Čtení e-mailů ze sdílené poštovní schránky na serveru Exchange v jazyce JavaPřečtěte si soubory MS Outlook PST v C# .NET
Přečtěte si soubory MS Outlook PST v JavěPřečíst soubory MSG Outlooku v C#Práce s konverzacemi na MS Exchange Server v C#
Práce s konverzacemi na MS Exchange Server v JavěPsaní a čtení zpráv na Thunderbird Storage v C#Psaní a čtení zpráv na Thunderbird Storage v Javě
Psaní a čtení zpráv na úložišti Thunderbird v PythonPosílat e-maily přes SMTP v PythonČtení e-mailů ze serveru Exchange v jazyce C#