JavaMail API按其功能划分通常可分为如下三大类:
创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。
发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。
接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。
l Session类
Session类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等。Session对象根据这些信息构建用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支持。
使用Java发送邮件的全部代码
public void getMessage() throws Exception{
//添加邮件属性
Properties pro = new Properties();
pro.setProperty("mail.host", "smtp.sohu.com");
pro.setProperty("mail.transport.protocol", "smtp");
pro.setProperty("mail.smtp.auth", "true");
//创建环境
Session session = Session.getInstance(pro);
Message message=new MimeMessage(session);
try {
message.setFrom(new InternetAddress("
[email protected]"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress("
[email protected]"));
message.setSubject("给你测试的!!");
MimeBodyPart text=new MimeBodyPart();
text.setContent("你在干什么!!<br><img src='cid:m.jpg' >", "text/html;charset=utf-8");
MimeBodyPart image=new MimeBodyPart();
DataHandler dimage=new DataHandler(new FileDataSource("src\\m.jpg"));
image.setDataHandler(dimage);
image.setContentID("m.jpg");
MimeMultipart mp=new MimeMultipart();
mp.setSubType("related");
mp.addBodyPart(text);
mp.addBodyPart(image);
message.setContent(mp);
message.saveChanges();
} catch (MessagingException e) {
e.printStackTrace();
}
Transport ts=session.getTransport();
ts.connect("zhuleishitou", "abc199128");
ts.sendMessage(message, message.getAllRecipients());
ts.close();
}