Erstellen und senden Sie Outlook Emails Java

Aspose.Email for Java ist eine leistungsstarke Email-Verarbeitungs-API, die alle grundlegenden sowie erweiterten Funktionen für die Email-Verwaltung bietet. Sie können damit Outlook Email Nachrichten erstellen, vorhandene Emails lesen und MSG, EML, PST, OST, MBOX und MHT-Nachrichten in andere Formate aus Ihren Java Anwendungen konvertieren. In diesem Artikel zeige ich einige grundlegende, aber wichtige Funktionen zum Erstellen und Senden von Outlook Emails mit Java.

In diesem Artikel werde ich die folgenden Funktionen zum Erstellen und Senden von Emails behandeln:

Java Email API - Installation

Aspose.Email for Java kann aus dem Abschnitt Downloads heruntergeladen oder mit den folgenden Maven konfigurationen installiert werden.

Repository:

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

Abhängigkeit:

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

Erstellen Sie Outlook Email Nachrichten mit Java

Mit Aspose.Email for Java können Sie Email-Nachrichten erstellen und in Ihrem gewünschten Email Format speichern, einschließlich EML, EMLX, MSG und MHTML. Im Folgenden finden Sie die Schritte zum Erstellen einer Email-Nachricht und zum Speichern als Datei.

  • Erstellen Sie eine Instanz der Klasse MailMessage.
  • Legen Sie die Eigenschaften der Nachricht wie Betreff, Text, An, CC usw. fest.
  • Fügen Sie bei Bedarf Anhänge hinzu.
  • Speichern Sie die Email-Nachricht im gewünschten Format mit der methode MailMessage.save().

Das folgende Codebeispiel zeigt, wie Sie eine Outlook Email Nachricht mit Java erstellen.

MailMessage message = new MailMessage();

// Legen Sie den Betreff der Nachricht, den Nachrichtentext und die Absenderinformationen fest
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));

// Zu Empfängern und CC-Empfängern hinzufügen
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));

// Anhänge hinzufügen
message.getAttachments().addItem(new Attachment("word.docx"));

// Nachricht in den Formaten EML, EMLX, MSG und MHTML speichern
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());

Erstellen Sie eine Email mit HTML-Text mit Java

Im vorherigen Beispiel haben wir einfach eine Nur-Text Email erstellt und als Email Datei gespeichert. Die meisten Emails werden heute jedoch mit HTML-Text erstellt, um den Inhalt der Email gut zu organisieren und darzustellen. In diesem Fall werden HTML-Tags verwendet, um das Layout der Email festzulegen. Sehen wir uns an, wie Sie mit Aspose.Email for Java eine Email mit einem HTML-Text erstellen.

Das folgende Codebeispiel zeigt, wie Sie mit Java eine Email mit einem HTML-Text erstellen.

MailMessage message = new MailMessage();

// Legen Sie den Betreff der Nachricht, den Nachrichtentext und die Absenderinformationen fest
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));

// Zu Empfängern und CC-Empfängern hinzufügen
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Nachricht in den Formaten EML, EMLX, MSG und MHTML speichern
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

Erstellen Sie eine Email mit einer bestimmten Codierung mit Java

Mit Aspose.Email for Java können Sie auch die gewünschte Textcodierung für die Email-Nachrichten festlegen. Der Codierungsstandard wird verwendet, um der Email Anwendung oder dem Browser mitzuteilen, wie die Zeichen im Email Text zu interpretieren sind. Im Folgenden sind die Schritte zum Erstellen einer Email mit einem bestimmten Codierungsstandard aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie mit Java eine Email mit einem bestimmten Codierungsstandard erstellen.

MailMessage message = new MailMessage();

// Legen Sie den Betreff der Nachricht, den Nachrichtentext und die Absenderinformationen fest
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));

// Codierung angeben 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Zu Empfängern und CC-Empfängern hinzufügen
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Nachricht in den Formaten EML, EMLX, MSG und MHTML speichern
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

Senden Sie Outlook Emails mit Java

Nachdem Sie eine Email erstellt haben, können Sie sie über das Simple Mail Transfer Protocol (SMTP) an die Empfänger senden. Im Folgenden sind die Schritte zum Senden einer Email-Nachricht mit Aspose.Email for Java aufgeführt.

  • Erstellen Sie eine neue Email-Nachricht oder laden Sie eine vorhandene mit der Klasse MailMessage.
  • Erstellen Sie eine Instanz der Klasse SmtpClient und legen Sie deren Host, Benutzernamen, Passwort und Port fest.
  • Senden Sie eine Email mit der methode SmtpClient.send().

Das folgende Codebeispiel zeigt, wie Sie eine Email über einen SMTP-Client in Java senden.

MailMessage message = new MailMessage();

// Legen Sie den Betreff der Nachricht, den Nachrichtentext und die Absenderinformationen fest
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));

// Codierung angeben 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Zu Empfängern und CC-Empfängern hinzufügen
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Erstellen Sie eine Instanz der SmtpClient Klasse
SmtpClient client = new SmtpClient();

// Geben Sie Ihren Mailing-Host-Server, Benutzername, Passwort und Port an
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send sendet diese Nachricht
	client.send(message); 
}

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

Senden Sie Emails asynchron mit Java

Mit Aspose.Email for Java können Sie auch Emails asynchron versenden. Dazu können Sie die Methode SmtpClient.beginSend() verwenden. Das folgende Codebeispiel zeigt, wie Emails mit Java asynchron gesendet werden.

MailMessage message = new MailMessage();

// Legen Sie den Betreff der Nachricht, den Nachrichtentext und die Absenderinformationen fest
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));

// Codierung angeben 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Zu Empfängern und CC-Empfängern hinzufügen
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Erstellen Sie eine Instanz der SmtpClient Klasse
SmtpClient client = new SmtpClient();

// Geben Sie Ihren Mailing-Host-Server, Benutzername, Passwort und Port an
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.beginSend sendet diese Nachricht
	client.beginSend(message); 
}

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

Senden Sie Emails mit einer Lesebestätigung mit Java

Sie können den Email-Nachrichten auch eine Anforderung für eine Lesebestätigung hinzufügen. Mit dieser Funktion können Sie eine Benachrichtigung erhalten, nachdem die Email empfangen wurde. Im Folgenden sind die Schritte zum Erstellen und Senden einer Email-Nachricht mit einer Lesebestätigungsanforderung aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie mit Java eine Email mit einer Lesebestätigung senden.

MailMessage message = new MailMessage();

// Legen Sie den Betreff der Nachricht, den Nachrichtentext und die Absenderinformationen fest
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));

// Benachrichtigungsoptionen festlegen
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com"); 

// Zu Empfängern hinzufügen 
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false)); 

// Erstellen Sie eine Instanz der SmtpClient Klasse
SmtpClient client = new SmtpClient();

// Geben Sie Ihren Mailing-Host-Server, Benutzername, Passwort und Port an
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send sendet diese Nachricht
	client.send(message);
}

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

Senden Sie Massen Emails mit Java

Es kann vorkommen, dass Sie viele verschiedene Emails versenden müssen. In diesem Fall können Sie einfach alle Email-Nachrichten zu einem MailMessageCollection objekt hinzufügen und es zum Senden an den SMTP-Client übergeben. Das folgende Codebeispiel zeigt, wie Sie eine große Anzahl von Emails mit Java senden.

// Erstellen Sie Instanzen der MailMessage Klasse und geben Sie To, From, Subject und Message an
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?");

// Erstellen Sie eine Instanz von MailMessageCollection und fügen Sie ihr Email-Nachrichten hinzu
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);		

// SmtpClient erstellen und Server, Port, Benutzername und Passwort angeben
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
 
try
{  
	// Sende Nachrichten
	client.send(manyMsg); 
}
catch (Exception ex)
{
	  ex.printStackTrace();
}

Live-Demos

Fazit

In diesem Beitrag habe ich Ihnen gezeigt, wie Sie Outlook Email Nachrichten erstellen und sie mit Java im EML, MSG und MTH Format speichern. Darüber hinaus werden auch verschiedene Möglichkeiten zum Versenden von Emails in Java mit dem STMP-Client besprochen. In der Dokumentation erfahren Sie mehr über die Java Email Library von Aspose.

Siehe auch