創建和發送 Outlook 電子郵件 Java

Aspose.Email for Java 是一個強大的電子郵件處理 API,它提供電子郵件管理的所有基本和高級功能。它允許您在 Java 應用程序中創建 Outlook 電子郵件消息、閱讀現有電子郵件並將 MSG、EML、PST、OST、MBOX 和 MHT 消息轉換為其他格式。在本文中,我將演示如何使用 Java 創建和發送 Outlook 電子郵件的一些基本但重要的功能。

我將在本文中介紹創建和發送電子郵件的以下功能:

Java 電子郵件 API - 安裝

Aspose.Email for Java 可以從 下載 部分下載或使用以下 Maven 配置進行安裝。

存儲庫:

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

依賴:

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

使用 Java 創建 Outlook 電子郵件

Aspose.Email for Java 允許您創建電子郵件消息並將它們保存為您想要的電子郵件格式,包括 EML、EMLX、MSG 和 MHTML。以下是創建電子郵件消息並將其保存為文件的步驟。

  • 創建 MailMessage 類的實例。
  • 設置郵件的屬性,例如主題、正文、收件人、抄送等。
  • 如果需要,添加附件。
  • 使用 MailMessage.save() 方法以您想要的格式保存電子郵件。

以下代碼示例顯示如何使用 Java 創建 Outlook 電子郵件。

MailMessage message = new MailMessage();

// 設置郵件主題、正文和發件人信息
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));

// 添加到收件人和抄送收件人
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));

// 添加附件
message.getAttachments().addItem(new Attachment("word.docx"));

// 以 EML、EMLX、MSG 和 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());

使用 Java 創建帶有 HTML 正文的電子郵件

在前面的示例中,我們只是創建了一個純文本電子郵件並將其保存為電子郵件文件。然而,今天的大多數電子郵件都是使用 HTML 正文創建的,以便很好地組織和呈現電子郵件的內容。在這種情況下,HTML 標記用於指定電子郵件的佈局。讓我們看看如何使用 Aspose.Email for Java 創建帶有 HTML 正文的電子郵件。

以下代碼示例顯示瞭如何使用 Java 創建帶有 HTML 正文的電子郵件。

MailMessage message = new MailMessage();

// 設置郵件主題、正文和發件人信息
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));

// 添加到收件人和抄送收件人
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// 以 EML、EMLX、MSG 和 MHTML 格式保存信息
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

使用 Java 創建具有特定編碼的電子郵件

Aspose.Email for Java 還允許您為電子郵件消息設置所需的文本編碼。編碼標準用於告知電子郵件應用程序或瀏覽器如何解釋電子郵件正文中的字符。以下是創建具有特定編碼標準的電子郵件的步驟。

以下代碼示例顯示瞭如何使用 Java 創建具有特定編碼標準的電子郵件。

MailMessage message = new MailMessage();

// 設置郵件主題、正文和發件人信息
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));

// 指定編碼 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// 添加到收件人和抄送收件人
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// 以 EML、EMLX、MSG 和 MHTML 格式保存信息
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

使用 Java 發送 Outlook 電子郵件

創建電子郵件後,您可以使用簡單郵件傳輸協議 (SMTP) 將其發送給收件人。以下是使用 Aspose.Email for Java 發送電子郵件的步驟。

  • 使用 MailMessage 類創建新電子郵件或加載現有電子郵件。
  • 創建 SmtpClient 類的實例並設置其主機、用戶名、密碼和端口。
  • 使用 SmtpClient.send() 方法發送電子郵件。

以下代碼示例顯示瞭如何通過 Java 中的 SMTP 客戶端發送電子郵件。

MailMessage message = new MailMessage();

// 設置郵件主題、正文和發件人信息
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));

// 指定編碼 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// 添加到收件人和抄送收件人
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// 創建 SmtpClient 類的實例
SmtpClient client = new SmtpClient();

// 指定您的郵件主機服務器、用戶名、密碼、端口
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send 將發送此消息
	client.send(message); 
}

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

使用 Java 異步發送電子郵件

Aspose.Email for Java 還允許您異步發送電子郵件。為此,您可以使用 SmtpClient.beginSend() 方法。以下代碼示例顯示瞭如何使用 Java 異步發送電子郵件。

MailMessage message = new MailMessage();

// 設置郵件主題、正文和發件人信息
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));

// 指定編碼 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// 添加到收件人和抄送收件人
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// 創建 SmtpClient 類的實例
SmtpClient client = new SmtpClient();

// 指定您的郵件主機服務器、用戶名、密碼、端口
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.beginSend 將發送此消息
	client.beginSend(message); 
}

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

使用 Java 發送帶有已讀回執的電子郵件

您還可以在電子郵件中添加閱讀回執請求。此功能允許您在收到電子郵件後收到通知。以下是創建和發送包含已讀回執請求的電子郵件消息的步驟。

以下代碼示例顯示如何使用 Java 發送包含已讀回執的電子郵件。

MailMessage message = new MailMessage();

// 設置郵件主題、正文和發件人信息
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));

// 設置通知選項
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com"); 

// 添加到收件人 
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false)); 

// 創建 SmtpClient 類的實例
SmtpClient client = new SmtpClient();

// 指定您的郵件主機服務器、用戶名、密碼、端口
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send 將發送此消息
	client.send(message);
}

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

使用 Java 發送批量電子郵件

當您需要發送大量不同的電子郵件時,可能會出現這種情況。在這種情況下,您只需將所有電子郵件消息添加到 MailMessageCollection 對象並將其傳遞給 SMTP 客戶端進行發送。以下代碼示例顯示瞭如何使用 Java 發送大量電子郵件。

// 創建 MailMessage 類的實例並指定 To、From、Subject 和 Message
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?");

// 創建 MailMessageCollection 實例並向其添加電子郵件消息
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);		

// 創建SmtpClient並指定服務器、端口、用戶名和密碼
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
 
try
{  
	// 發送信息
	client.send(manyMsg); 
}
catch (Exception ex)
{
	  ex.printStackTrace();
}

現場演示

結論

在本文中,我向您展示瞭如何使用 Java 創建 Outlook 電子郵件消息並將它們保存為 EML、MSG 和 MTH 格式。此外,還討論了使用 STMP 客戶端在 Java 中發送電子郵件的不同方式。您可以使用 文檔 了解有關 Aspose 的 Java 電子郵件庫 的更多信息。

也可以看看

使用 C# 創建 Outlook 消息和發送電子郵件使用 Python 從 POP3 服務器獲取電子郵件在 C# 中從 Microsoft Exchange Server 獲取聯繫人列表
使用 Java 從 Microsoft Exchange Server 獲取聯繫人列表在 C# 中從 Gmail 導入聯繫人在 Java 中導入 Gmail 聯繫人
在 C# 中將電子郵件移動到 Microsoft Exchange Server 上的文件夾[用 Java 將電子郵件移動到 Microsoft Exchange Server 上的文件夾](https://blog.aspose.com/zh-hant/2022/03/10/move-email-to-a-folder-on-ms-exchange-server-in- java/)用 Python 解析 Outlook PST 文件
在 C# 中從 Exchange 服務器上的共享郵箱讀取電子郵件在 Java 中從 Exchange 服務器上的共享郵箱讀取電子郵件在 C# .NET 中讀取 MS Outlook PST 文件
用 Java 閱讀 MS Outlook PST 文件在 C# 中讀取 Outlook MSG 文件使用 C# 在 MS Exchange Server 上使用對話
使用 Java 在 MS Exchange Server 上使用對話在 C# 中在 Thunderbird 存儲上寫入和讀取消息用 Java 在 Thunderbird 存儲上寫入和讀取消息
用 Python 在 Thunderbird 存儲上寫入和讀取消息在 Python 中通過 SMTP 發送電子郵件在 C# 中從 Exchange Server 讀取電子郵件