邮件原理与JavaMail开发(二)
来源:互联网 发布:日本现代著名作家知乎 编辑:程序博客网 时间:2024/05/21 14:58
使用JavaMail API收发邮件:
JavaMail API按其功能划分通常可分为如下三大类:
创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。
发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。
接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。
Session类
Session类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等。Session对象根据这些信息构建用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支持。
使用JavaMail发送一封简单的邮件:
创建包含邮件服务器的网络连接信息的Session对象。
创。 建代表邮件内容的Message对象。
创建Transport对象、连接服务器、发送Message、关闭连接
下面是发送邮件的一个案例:
public class SendImageMail {
private static final String HOST = "smtp.sohu.com";
private static final String SMTP = "smtp";
private static final String AUTH = "true";
public static void main(String[] args) throws MessagingException {
Properties props = new Properties();
// 设置发送邮件的主机服务名称
props.setProperty("mail.host", HOST);
// 设置发送邮件的协议
props.setProperty("mail.transport.protocol", SMTP);
// 设置登录验证
props.setProperty("mail.smtp.auth", AUTH);
// 根据属性文件获取发送接收邮件环境对象
Session session = Session.getDefaultInstance(props);
// 根据环境对象创建一份邮件
Message message = createMessage(session);
// 根据环境对象获取发送邮件的对象
Transport tsp = session.getTransport();
// 调用发送邮件对象的登录连接验证的方法
tsp.connect("1111", "1111");
// 调用发送邮件对象的发送邮件的方法 发送邮件
tsp.sendMessage(message, message.getAllRecipients());
// 关闭
tsp.close();
}
public static Message createMessage(Session session) {
MimeMessage message = new MimeMessage(session);
try {
// 设置邮件头
message.setFrom(new InternetAddress("1111@sohu.com"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(
"1111@qq.com"));
message.setSubject("测试带有图片的");
// 设置邮件体
MimeBodyPart part = new MimeBodyPart();
part.setContent("中国....<br/><img src='cid:xx.jpg'>",
"text/html;charset=utf8");
MimeBodyPart image = new MimeBodyPart();
image.setDataHandler(new DataHandler(new FileDataSource(
"src//1.jpg")));
image.setContentID("xx.jpg");
// 设置描述关系
MimeMultipart mp = new MimeMultipart();
mp.addBodyPart(part);
mp.addBodyPart(image);
mp.setSubType("related");
message.setContent(mp);
//带有附件的自己完成.
message.saveChanges();
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return message;
}
}
- 邮件原理与JavaMail开发(二)
- 邮件原理与JavaMail开发(二)——使用JavaMail创建邮件和发送邮件
- 邮件原理与javaMail开发
- 邮件原理与JavaMail开发
- 邮件原理与JavaMail开发
- 邮件原理与JavaMail开发
- JavaMail开发与邮件原理
- 邮件原理与JavaMail开发(一)
- JavaMail邮件开发(二)
- 邮件原理与JavaMail开发(一)——邮件的发送与接收原理
- 邮件得介绍(邮件原理与JavaMail开发以及Base64Util)
- Java邮件开发-----JavaMail(二)
- Java邮件开发-----JavaMail(二)
- 邮件原理与JavaMail开发中应用的一些重要的类
- 邮件原理与JavaMail开发中应用的一些重要的类
- 邮件功能开发--JavaMail
- 【Java邮件开发-----javaMail 】
- 邮件功能开发--JavaMail
- 简要列举HTML和XML的区别:
- 项目进行中的一些总结
- csdn
- 我开始找工作了
- 新的开始
- 邮件原理与JavaMail开发(二)
- spring—IoC初步体验
- javamail邮件发送
- C++实现句柄类(一)
- Hibernate实体映射
- 终于实现通过java发送Internet邮件了!!!分享一下
- 关于Javamail的配置和简单应用
- 急求为什么??(c++二级的题,可是我却不会……)
- 用MIME协议生成一封复杂的邮件(三)