本内容主要用于java代码中,邮件的发送,具体步骤分成以下三点:

1、开启邮箱POP3服务

邮箱->设置->账户

开启POP3服务

点击生成授权码获取授权码  此授权码在之后将作为邮箱密码使用

 

2、使用context.xml的配置方便修改参数,也可以使用properties等其他方式配置。 

<Context><!– 邮箱 –><Environment name=”emailUser” value=”1093026425@qq.com” type=”java.lang.String”/><!– 邮箱密码 第三方密码通过邮箱中的POP3支持获得的授权码 –><Environment name=”emailPwd” value=”qogizwftggbzgeca” type=”java.lang.String”/><!– 邮箱服务器 qq邮箱服务器 –><Environment name=”emailHost” value=”smtp.qq.com” type=”java.lang.String”/><!– 使用密码认证 –><Environment name=”emailAuth” value=”true” type=”java.lang.String”/><!– 通信协议 smtp –><Environment name=”emailProtocol” value=”smtp” type=”java.lang.String”/><!– 通信端口号 25 –><Environment name=”emailPort” value=”25″ type=”java.lang.Integer”/></Context>

3、定义静态方法发送邮件

需要引入jar包 javax.mail-1.5.1.jar

jar包下载地址  https://pan.baidu.com/s/1cpfcRp_arEIB8XO0F39uFQ

import java.util.Properties;import javax.mail.Address;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;public class SendJMail {/** * * @param to 收件人邮箱账号 * @param emailMsg 邮件内容 * @return */public static boolean sendMail(String to, String emailMsg) {try {Context context = new InitialContext();String emailUser = (String)context.lookup(“java:comp/env/emailUser”);String emailPwd = (String)context.lookup(“java:comp/env/emailPwd”);String emailHost = (String)context.lookup(“java:comp/env/emailHost”);String emailAuth = (String)context.lookup(“java:comp/env/emailAuth”);String emailProtocol = (String)context.lookup(“java:comp/env/emailProtocol”);int emailPort = (Integer)context.lookup(“java:comp/env/emailPort”);//获取系统环境信息Properties props = System.getProperties();//设置邮件服务器props.setProperty(“mail.smtp.host”, emailHost); //设置密码认证props.setProperty(“mail.smtp.auth”, emailAuth);//设置传输协议props.setProperty(“mail.transport.protocol”, emailProtocol);//创建session对象Session session = Session.getInstance(props);//设置输出日志session.setDebug(true);//邮件发送对象MimeMessage message = new MimeMessage(session);//设置发件人message.setFrom(new InternetAddress(emailUser));//设置邮件主题message.setSubject(“测试邮件”);//设置邮件内容//message.setText(“Welcome to JavaMail World!”);//如果带网页内容使用Content发送message.setContent((emailMsg),”text/html;charset=utf-8″);//获取邮件发送管道Transport transport=session.getTransport();//连接管道transport.connect(emailHost,emailPort, emailUser, emailPwd);//发送邮件transport.sendMessage(message,new Address[]{new InternetAddress(to)});//关闭管道transport.close();return true;} catch (NamingException e) {// TODO Auto-generated catch blocke.printStackTrace();return false;}catch (MessagingException e) {e.printStackTrace();return false;}}}

联网状态下,调用本方法即可发送电子邮件。