利用JavaMail 实现发邮件。

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;
public class MailTest {
public static void main(String[] args) throws MessagingException, IOException {
Properties properties = new Properties();
properties.setProperty("mail.host", "smtp.163.com");
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.auth", "true");
Session mailSession = Session.getInstance(properties);
mailSession.setDebug(true);
Transport tr = mailSession.getTransport();
String username = "loggyf";
String password = "damoguyan666";
try {
// MimeMessage mimeMessage = createSimpleMail(mailSession);
MimeMessage mimeMessage = createMultiPartMail(mailSession);
tr.connect(username, password);
tr.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
} catch (Exception e) {
e.printStackTrace();
} finally {
tr.close();
}
}
/*创建简单的文本邮件*/
public static MimeMessage createSimpleMail(Session session) throws Exception {
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setFrom(new InternetAddress("loggyf@163.com"));
mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("loggyf@sohu.com"));
mimeMessage.setSubject("只包含文本的簡單郵件");
mimeMessage.setContent("你好啊!", "text/html;charset=UTF-8");
return mimeMessage;
}
/*创建包含图片和附件的邮件*/
public static MimeMessage createMultiPartMail(Session session) throws Exception {
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setFrom(new InternetAddress("loggyf@163.com"));
mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("loggyf@sohu.com"));
mimeMessage.setSubject("邮件主题:带图片和附件的邮件");
MimeBodyPart image = new MimeBodyPart();
DataHandler dataHandler = new DataHandler(new FileDataSource("src\\horse.jpg"));
image.setDataHandler(dataHandler);
image.setContentID("mailTestPic");
MimeBodyPart text = new MimeBodyPart();
text.setContent("这是一张图片<br><a href='http://www.baidu.com'><img src='cid:mailTestPic' /></a>", "text/html;charset=UTF-8");
MimeMultipart mm_text_image = new MimeMultipart();
mm_text_image.addBodyPart(text);
mm_text_image.addBodyPart(image);
mm_text_image.setSubType("related");
MimeBodyPart text_image = new MimeBodyPart();
text_image.setContent(mm_text_image);
MimeBodyPart attachment = new MimeBodyPart();
DataHandler dhandler = new DataHandler(new FileDataSource("src\\韩素音翻译.docx"));
attachment.setDataHandler(dhandler);
attachment.setFileName(MimeUtility.encodeText(dhandler.getName()));
Multipart mm = new MimeMultipart();
mm.addBodyPart(text_image);
mm.addBodyPart(attachment);
((MimeMultipart) mm).setSubType("mixed");
mimeMessage.setContent(mm);
mimeMessage.setSentDate(new Date());
return mimeMessage;
}
}
网友评论