📄 picturemessage.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 PictureMessage
{
public static void main(String[] args) 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_slogo_gif\">";
Session session = Session.getDefaultInstance(new Properties());
//创建MimeMessage对象,并设置各种邮件头字段
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
message.setSubject(subject);
//创建一个子类型为"related"的MimeMultipart对象。
MimeMultipart multipart = new MimeMultipart("related");
/* 创建一个表示HTML正文的MimeBodyPart对象,
并将它加入到前面创建的MimeMultipart对象中 */
MimeBodyPart htmlBodyPart = new MimeBodyPart();
htmlBodyPart.setContent(body,"text/html;charset=gb2312");
multipart.addBodyPart(htmlBodyPart);
/* 创建一个表示图片内容的MimeBodyPart对象,
并将它加入到前面创建的MimeMultipart对象中 */
MimeBodyPart gifBodyPart = new MimeBodyPart();
FileDataSource fds = new FileDataSource("d:\\image\\slogo.gif");
gifBodyPart.setDataHandler(new DataHandler(fds));
gifBodyPart.setContentID("it315_slogo_gif");
//上一行代码改成如下语句也可以,建议读者自己想想为什么
//gifBodyPart.setHeader("Content-ID","it315_slogo_gif");
/*不必使用下面这条语句设置图片的MIME类型,因为上面使用的JAF框架
中的DataSource对象能够返回数据源的MIME类型,所以,
上面的setDataHandler方法能够设置好Content-Type消息头。*/
//gifBodyPart.setHeader("Content-Type","image/gif");
multipart.addBodyPart(gifBodyPart);
/* 将MimeMultipart对象设置为整个邮件的内容,
要注意调用saveChanges方法进行更新 */
message.setContent(multipart);
message.saveChanges();
//把MimeMessage对象中的内容写入到文件中
message.writeTo(new FileOutputStream("c:\\PictureMessage.eml"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -