Aspose.Email for Java 是一個強大的電子郵件處理 API,它提供電子郵件管理的所有基本和高級功能。它允許您在 Java 應用程序中創建 Outlook 電子郵件消息、閱讀現有電子郵件並將 MSG、EML、PST、OST、MBOX 和 MHT 消息轉換為其他格式。在本文中,我將演示如何使用 Java 創建和發送 Outlook 電子郵件的一些基本但重要的功能。
我將在本文中介紹創建和發送電子郵件的以下功能:
- 使用 Java 創建 Outlook 電子郵件
- 使用 Java 設置電子郵件的 HTML 正文
- 使用 Java 創建具有特定編碼的電子郵件
- 使用 Java 發送 Outlook 電子郵件
- 使用 Java 異步發送電子郵件
- 使用 Java 發送帶有已讀回執的電子郵件
- 使用 Java 發送批量電子郵件
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 正文的電子郵件。
- 使用 MailMessage 類創建新電子郵件。
- 設置主題、收件人、抄送和其他屬性。
- 使用 MailMessage.setHtmlBody(string) 方法設置電子郵件的正文。
- 使用 MailMessage.save() 方法保存電子郵件。
以下代碼示例顯示瞭如何使用 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 還允許您為電子郵件消息設置所需的文本編碼。編碼標準用於告知電子郵件應用程序或瀏覽器如何解釋電子郵件正文中的字符。以下是創建具有特定編碼標準的電子郵件的步驟。
- 創建 MailMessage 類的對象。
- 設置電子郵件的屬性,例如主題、收件人、抄送等。
- 使用 MailMessage.setBodyEncoding() 方法設置編碼標準。
- 使用 MailMessage.save() 方法創建並保存電子郵件。
以下代碼示例顯示瞭如何使用 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 發送帶有已讀回執的電子郵件
您還可以在電子郵件中添加閱讀回執請求。此功能允許您在收到電子郵件後收到通知。以下是創建和發送包含已讀回執請求的電子郵件消息的步驟。
- 使用 MailMessage 類創建新電子郵件。
- 使用 MailMessage.setDeliveryNotificationOptions() 方法設置送達通知選項。
- 在電子郵件標題中添加收據信息。
- 使用 SmtpClient 類發送電子郵件。
以下代碼示例顯示如何使用 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 電子郵件庫 的更多信息。