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

如何用 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 代码
以下是创建和发送纯文本电子邮件的步骤:
- 创建一个 MailMessage 类的对象。
- 指定主题、正文、发件人和收件人的地址。
- 创建一个 SmtpClient 类的对象。
- 设置主机、端口、用户名、密码和安全选项。
- 调用SmtpClient.send(MailMessage arg) 方法发送邮件信息。
下面的代码示例显示了如何创建和发送纯文本电子邮件:
// 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 正文的电子邮件的步骤:
- 创建一个 MailMessage 类的对象。
- 指定主题、正文、发件人和收件人的地址。
- 使用 MailMessage.setHtmlBody(String value) 方法设置电子邮件正文。
- 创建一个 SmtpClient 类的对象。
- 设置主机、端口、用户名、密码和安全选项。
- 调用SmtpClient.send(MailMessage arg) 方法发送邮件信息。
下面的代码示例显示了如何发送带有 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 发送它们。
从光盘发送存储的电子邮件信息的步骤如下:
- 使用 MailMessage.load(String path) 方法创建 MailMessage 类的对象。
- 创建一个 SmtpClient 类的对象。
- 设置主机、端口、用户名、密码和安全选项。
- 调用SmtpClient.send(MailMessage arg) 方法发送邮件信息。
下面的代码示例演示了如何使用 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 代码的步骤:
- 创建多个 MailMessage 类的对象并指定它们必要的参数或属性。
- 创建一个 MailMessageCollection 类的对象。
- 使用 MailMessageCollection.addItem() 方法将电子邮件对象(在第一步中创建)添加到集合中。
- 创建一个 SmtpClient 类的对象。并设置主机、端口、用户名和密码。
- 使用 SmtpClient.send(MailMessageCollection arg) 方法发送电子邮件。
下面的代码示例演示了如何使用 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 以获取定期更新。
问一个问题
您可以在我们的论坛 上让我们知道您的问题或疑问。