邮件发送(文本+图片)
代码演示
package com.tian;
import com.sun.mail.util.MailSSLSocketFactory;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.security.GeneralSecurityException;
import java.util.Properties;
public class MailDemo2 {
public static void main(String[] args) throws GeneralSecurityException, MessagingException {
Properties prop = new Properties();
prop.setProperty("mail.host","smtp.qq.com");
prop.setProperty("mail.transport.protocol","smtp");
prop.setProperty("mail.smtp.auth","true");
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable","true");
prop.put("mail.smtp.ssl.sockeFactory",sf);
Session session=Session.getDefaultInstance(prop, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("2545644870@qq.com","zwfjuzlpjkngdjea");
}
});
session.setDebug(true);
Transport ts = session.getTransport();
ts.connect("smtp.qq.com","2545644870@qq.com","zwfjuzlpjkngdjea");
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("2545644870@qq.com"));
message.setRecipient(Message.RecipientType.TO,new InternetAddress("2545644870@qq.com"));
message.setSubject("只包含文本的简单邮件");
MimeBodyPart image = new MimeBodyPart();
DataHandler dh = new DataHandler(new FileDataSource("E:\\ideaTest\\功能扩展\\mail\\src\\1.png"));
image.setDataHandler(dh);
image.setContentID("bz.png");
MimeBodyPart text=new MimeBodyPart();
text.setContent("这是一封正文带图片<img src='cid:bz.png>的邮件","text/html;charset=UTF-8");
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(text);
mm.addBodyPart(image);
mm.setSubType("related");
message.setContent(mm);
message.saveChanges();
ts.sendMessage(message,message.getAllRecipients());
ts.close();
}
}