前言
本文将介绍如何使用JavaMail API 发送带有单个和多个附件的电子邮件。
添加maven依赖
首先我们需要在pom.xml中添加如下的maven依赖:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
编码
首先,我们需要使用host、端口,用户名和密码来创建一个Session对象。如下所示:
// 收件人电子邮箱
String to = "[email protected]";
// 发件人电子邮箱
String from = "[email protected]";
// 指定发送邮件的主机为 localhost
String host = "smtp.sample.com";
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
Session session = Session.getDefaultInstance(properties);
现在我们有了一个Session对象,接下来需要创建MimeMessage和MimeBodyPart对象。如下所示:
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
message.setSubject("这里是邮件标题");
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("这里是邮件内容");
上面是一个普通的文本邮件,
现在,我们需要再添加一个MimeBodyPart以在邮件中添加附件:
MimeBodyPart attachmentPart = new MimeBodyPart();
attachmentPart.attachFile(new File("C:\\文件.txt"));
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
multipart.addBodyPart(attachmentPart);
在发送邮件时,将multipart放入content中,如下所示:
message.setContent(multipart);
Transport.send(message);
如果你的附件包含多个附件,只需添加另一个MimeBodyPart即可。
总结
本文介绍了如何使用javamail api创建一个包含了一个或者多个附件文件的邮件并发送的相关代码示例。
文章评论