在Java
问题描述:
发送的电子邮件我试图发送电子邮件这种方式,但我无法弄清楚一些事情在Java
- 如何使用输入流对象,并添加为附件。
- 如何发送多个附件
- 如何发送多个附件与HTML身体
我尝试下面的代码,我可以只发送一个附件或HTML体
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
message.addRecipient(Message.RecipientType.CC,
new InternetAddress(cc));
Address address[] =
{new InternetAddress(replyTo)};
message.setReplyTo(address);
// Set Subject: header field
message.setSubject(subject);
// Now set the actual message
MimeBodyPart messageBodyPart = new MimeBodyPart();
Multipart multipart = new MimeMultipart();
messageBodyPart = new MimeBodyPart();
String file = "/file.pdf";
String fileName = "attachmentName";
DataSource source = new FileDataSource(file);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileName);
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
message.setContent(body, "text/html");
// Send message
Transport.send(message);
答
这回答1个问题
User ByteArrayDataSource它具有consutructor
public ByteArrayDataSource(InputStrea m是,字符串类型)
这回答您的列表中的2个问题。
您可以MimeBodyPart
对象添加多至Multipart
对象
这是从Multipart.java
采取代码它增加了MimeBodyPart
对象矢量
public synchronized void addBodyPart(BodyPart part) throws MessagingException {
if (parts == null) {
parts = new Vector();
parts.addElement(part);
part.setParent(this);
}
}
+0
谢谢前两项工作。试图让第三个正确。 – 2014-09-30 22:20:36
你使用Spring吗?如果我知道这一点,我可能会帮助更多。我曾经以相当手动的方式做事,但Spring有一些有用的帮手。 – mwarren 2014-09-30 20:40:12
不幸的是我不使用Spring。 – 2014-09-30 20:45:24