📄 complexmessage.java
字号:
import java.io.FileOutputStream;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class ComplexMessage
{
public static void main(String[] args) throws Exception
{
Session session = Session.getDefaultInstance(new Properties());
MimeMessage message = createMessage(session);
message.writeTo(new FileOutputStream("c:\\ComplexMessage.eml"));
}
public static MimeMessage createMessage(Session session) throws Exception
{
String from = "it315_test@sohu.com ";//发件人地址
String to = "it315_test@sohu.com "; //收件人地址
String subject = "HTML邮件"; //邮件主题
String body = "<a href=http://www.it315.org>" +
"欢迎大家访问我们的网站</a></br>" +
"<img src=\"cid:it315_logo_gif\">";
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
message.setSubject(subject);
//创建代表邮件正文和附件的各个MimeBodyPart对象
MimeBodyPart contentPart = createContent(body,"d:\\attach\\logo.gif");
MimeBodyPart attachPart1 = createAttachment("d:\\attach\\daemon.exe");
MimeBodyPart attachPart2 = createAttachment("d:\\attach\\sndrec.wav");
//创建用于组合邮件正文和附件的MimeMultipart对象
MimeMultipart allMultipart = new MimeMultipart("mixed");
allMultipart.addBodyPart(contentPart);
allMultipart.addBodyPart(attachPart1);
allMultipart.addBodyPart(attachPart2);
//设置整个邮件内容为最终组合出的MimeMultipart对象
message.setContent(allMultipart);
message.saveChanges();
return message;
}
public static MimeBodyPart createContent(String body,String filename)
throws Exception
{
/* 创建代表组合MIME消息的MimeMultipart对象,
和将该MimeMultipart对象保存到的MimeBodyPart对象 */
MimeBodyPart contentPart = new MimeBodyPart();
MimeMultipart contentMultipart = new MimeMultipart("related");
/* 创建用于保存HTML正文的MimeBodyPart对象,
并将它保存到MimeMultipart中 */
MimeBodyPart htmlBodyPart = new MimeBodyPart();
htmlBodyPart.setContent(body,"text/html;charset=gb2312");
contentMultipart.addBodyPart(htmlBodyPart);
/* 创建用于保存图片的MimeBodyPart对象,
并将它保存到MimeMultipart中 */
MimeBodyPart gifBodyPart = new MimeBodyPart();
FileDataSource fds = new FileDataSource(filename);
gifBodyPart.setDataHandler(new DataHandler(fds));
gifBodyPart.setContentID("it315_logo_gif");
contentMultipart.addBodyPart(gifBodyPart);
//将MimeMultipart对象保存到的MimeBodyPart对象中
contentPart.setContent(contentMultipart);
return contentPart;
}
public static MimeBodyPart createAttachment(String filename) throws Exception
{
//创建保存附件的MimeBodyPart对象,并加入附件内容和相应信息
MimeBodyPart attachPart = new MimeBodyPart();
FileDataSource fds = new FileDataSource(filename);
attachPart.setDataHandler(new DataHandler(fds));
attachPart.setFileName(fds.getName());
return attachPart;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -