电子邮件自动化已变得流行,尤其是在营销人员中。它使他们能够在预定时间自动向目标受众发送预制电子邮件。

如何用 Java 编写发送电子邮件的代码

如何用 Java 编写发送电子邮件的代码

在本文中,我们将解释如何使用 Java 编写发送电子邮件的代码。我们将看到以编程方式创建和发送带有纯文本或 HTML 正文的电子邮件的步骤。此外,我们将演示如何批量发送电子邮件以及使用 Java 从光盘发送存储的电子邮件。

本文将涵盖以下要点:

用于发送电子邮件的 Java 库

我们将使用 Java 电子邮件库,它允许您在不了解网络编程或格式规范的情况下实现管理电子邮件的业务逻辑。 用于发送电子邮件的 Java 库 可以使用 Maven 配置直接安装,如下所示:

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.6</version>
	<type>pom</type>
</dependency>

有关其他Java框架的配置,请访问releases.conholdate.com

如何用 Java 编写代码来创建和发送电子邮件

Java 电子邮件库通过 SMTP 服务器发送电子邮件消息以进行传递。发件人、收件人、主题和邮件正文使用 String 对象指定。在本节中,我们将讨论如何用 Java 编写代码示例来发送带有纯文本和 HTML 正文的电子邮件。

用于发送纯文本电子邮件的 Java 代码

以下是创建和发送纯文本电子邮件的步骤:

下面的代码示例显示了如何创建和发送纯文本电子邮件:

// Declare msg as MailMessage instance
MailMessage msg = new MailMessage();
// Set From and To field and Plain text body
msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
msg.getTo().add("receiver@receiver.com");
msg.setBody("This is a Plain Text Body");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

发送带有 HTML 正文的电子邮件

以下是发送带有 HTML 正文的电子邮件的步骤:

下面的代码示例显示了如何发送带有 HTML 正文的电子邮件。

// Declare msg as MailMessage instance
MailMessage msg = new MailMessage();
// Use MailMessage properties like specify sender, recipient, message and HtmlBody
msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
msg.setTo(MailAddressCollection.to_MailAddressCollection("asposetest123@gmail.com"));
msg.setSubject("Test subject");
msg.setHtmlBody("<html><body>This is the HTML body</body></html>");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

用 Java 从光盘发送存储的电子邮件

Java 电子邮件库允许您从光盘加载 EML(Outlook Express 电子邮件)文件并通过 SMTP 发送它们。

从光盘发送存储的电子邮件信息的步骤如下:

下面的代码示例演示了如何使用 Java 从光盘发送存储的电子邮件。

// Load an EML file in MailMessage class
MailMessage message = MailMessage.load(dataDir + "test.eml");
// Create an instance of SmtpClient class
SmtpClient client = new SmtpClient();
// Specify your mailing host server, Username, Password, Port # and Security option
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
try {
// Client.Send will send this message
client.send(msg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

批量发送电子邮件的Java代码

以下是编写用于批量发送电子邮件的 Java 代码的步骤:

下面的代码示例演示了如何使用 Java 批量发送电子邮件。

// Create SmtpClient as client and specify server, port, user name and password
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
// Create instances of MailMessage class and Specify To, From, Subject and 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?");
// Create an instance of MailMessageCollection class and add MailMessage objects
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);
try {
// Send Message in bulk
client.send(manyMsg);
System.out.println("Message sent");
} catch (Exception ex) {
System.err.println(ex);
client.close();
client.dispose();
}
client.close();
client.dispose();

获得免费许可证

您可以获得 免费临时许可证 来试用没有评估限制的 API。

加起来

在本文中,您了解了如何使用用于发送电子邮件的 Java 库编写用于在 Java 中发送电子邮件的代码。最初,您学习了如何以编程方式发送包含纯文本或 HTML 正文的电子邮件。之后,您了解了如何批量发送电子邮件以及使用 Java 从光盘发送存储的电子邮件。

您可以访问 文档 来探索其他功能。

最后,我们建议您继续关注 conholdate.com 以获取定期更新。

问一个问题

您可以在我们的论坛 上让我们知道您的问题或疑问。

也可以看看