JavaMail基本使用
来源:互联网 发布:蔬菜水果网络配送平台 编辑:程序博客网 时间:2024/06/02 23:35
JavaMail基本使用
基本概述
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。
虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有Sun的JavaBeans Activation Framework (JAF)。JavaBeans Activation Framework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows 2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。
JavaMail是可选包,因此如果需要使用的话你需要首先从java官网上下载。使用JavaMail的时候需要Javabean Activation Framework的支持,因此你也需要下载JAF。安装JavaMail只是需要把他们加入到CLASSPATH中去,如果你不想修改CLASSPATH的话,可以直接把他们的jar包直接copy到JAVA_HOME/lib/ext下。这样JavaMail就安装好了。
JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息。
另外很好的实现了JavaMail API的框架有James、Spring Mail。
——《百度百科》
电子邮件
概述
电子邮箱:向服务器申请了一块空间(硬盘的地址),存储着你申请的这个邮箱存放的数据。
- 电子邮箱(E-mail地址)的获得需要在邮件服务器上进行申请 ,确切地说,电子邮箱其实就是用户在邮件服务器上申请的一个帐户。用户在邮件服务器上申请了一个帐号后,邮件服务器就会为这个帐号分配一定的空间,用户从而可以使用这个帐号以及空间,发送电子邮件和保存别人发送过来的电子邮件。
邮件服务器:
- 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。
- 这些服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。
- 邮件服务器,按照提供的服务类型,可以分为发送邮件的服务器和接收邮件的服务器。
邮件协议
SMTP协议-发邮件协议
- 全称为Simple Mail Transfer Protocol(简单邮件传输协议),它定义了邮件客户端软件与SMTP服务器之间、以及两台SMTP服务器之间的通讯规则。
- 端口号:25.
POP/POP3协议-收邮件协议
- 全称为Post Office Protocol(邮局协议),它定义了邮件客户端软件与POP3服务器的通讯规则。服务器到客户的通讯规则。
- 端口号:110.
JavaMail使用
package com.pc.user.utils;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMessage.RecipientType;import com.pc.user.domain.User;/** * 邮件工具类 * * @author Switch * @data 2016年10月23日 * @version V1.0 */public class MailUtils { /** * 发送邮件 * * @param user * 用户Bean */ public static void sendMail(User user) { // Session对象(会话) Properties props = new Properties(); // 邮件服务器在本机 props.setProperty("mail.host", "localhost"); // 邮件服务器在外网需要用下面两个配置替代 // props.setProperty("mail.host", "smtp-mail.outlook.com"); // 外网会强制验证 props.setProperty("mail.smtp.auth", "true"); Session session = Session.getInstance(props, new Authenticator() { @Override public PasswordAuthentication getPasswordAuthentication() { // 邮件服务器在本机 return new PasswordAuthentication("Admin@store.com", "123456"); // 邮件服务器在外网 // return new PasswordAuthentication("*****@163.com","123456"); } }); // Message对象 Message message = new MimeMessage(session); try { // 设置发件人:(最好是与登录名相同) message.setFrom(new InternetAddress("Admin@store.com")); // 设置收件人: message.addRecipient(RecipientType.TO, new InternetAddress(user.getEmail())); // 设置主题: message.setSubject("生日快乐"); // 设置内容: message.setContent("尊敬的用户,祝您生日快乐!", "text/html;charset=UTF-8"); // 3.Transport对象: Transport.send(message); } catch (Exception e) { e.printStackTrace(); } }}
PS:JavaMail发送邮件案例:GitHub
- JavaMail基本使用
- javaMail使用
- JavaMail使用
- javaMail 使用
- javamail使用笔记
- JavaMail使用教程
- javamail使用完全手册
- javamail使用完全手册
- JavaMail 使用发信身份验证
- 使用JavaMail收发邮件
- 使用JavaMail发送邮件
- 使用JavaMail接收邮件
- javamail的使用
- JavaMail使用完全手册
- 使用JavaMail发送邮件
- JSP中使用JavaMail
- JavaMail使用问题
- JavaMail使用总结
- 猎聘网2017年校园招聘研发类岗位笔试题
- d3.js学习9----地图的制作2
- 总结
- Python 用for循环实现猜数字游戏
- PB常用函数
- JavaMail基本使用
- web开发Java后台和jsp页面时间格式的转换
- 开通CSDN :)
- Android中的定位
- 欢迎使用CSDN-markdown编辑器
- 交换两个数的swap()函数
- poj-1579-Function Run Fun【思维】
- 【NOIP2005提高组T4】等价表达式+模拟+栈
- 【软考学习】——计算机系统知识