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。
——《百度百科》JAVA使用?
电子邮箱:向服务器申请了一块空间(硬盘的地址),存储着你申请的这个邮箱存放的数据。
邮件服务器:
SMTP协议-发邮件协议
POP/POP3协议-收邮件协议
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() {@Overridepublic 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();}}
}
Java怎么打开?PS:JavaMail发送邮件案例:GitHub
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态