Email 邮件发送
0、导入 依赖
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.zhiyou100
1.0-SNAPSHOT
src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false
UTF-8
1.8
4.1.2.RELEASE
8.0.20
3.17
2.11.0
org.springframework
spring-context
org.springframework
spring-orm
org.springframework
spring-oxm
org.springframework
spring-jdbc
org.springframework
spring-tx
org.springframework
spring-web
org.springframework
spring-webmvc
org.springframework
spring-aop
org.springframework
spring-test
org.projectlombok
lombok
1.16.20
provided
c3p0
c3p0
0.9.1.2
cn.hutool
hutool-all
4.5.15
com.alibaba
fastjson
1.2.68
mysql
mysql-connector-java
${mysql.version}
dom4j
dom4j
1.6.1
javax.servlet
javax.servlet-api
3.1.0
provided
javax.servlet.jsp
jsp-api
2.1
provided
javax.servlet
jstl
1.2
javax.ws.rs
javax.ws.rs-api
2.0
javax.websocket
javax.websocket-api
1.0
javax.annotation
javax.annotation-api
1.2
javax.transaction
javax.transaction-api
1.2
cglib
cglib
2.2.2
org.mybatis
mybatis
3.4.5
org.mybatis
mybatis-spring
2.0.2
com.github.pagehelper
pagehelper
5.1.10
junit
junit
4.12
test
commons-io
commons-io
2.2
commons-fileupload
commons-fileupload
1.3.1
org.apache.poi
poi-ooxml
${poi.version}
xerces
xercesImpl
${xerces.version}
xml-apis
xml-apis
1.4.01
com.oracle
ojdbc6
11.2.0.3.0
javax.mail
javax.mail-api
1.6.2
com.sun.mail
javax.mail
1.6.2
org.springframework
spring-framework-bom
${spring.version}
pom
import
一、注册一个 网易 162 邮箱
注册成功
二、开启第三方授权,
点击 设置 -> POP3/SMTP/IMAP 设置
点击 开启
注意需要发送短信,会有一个授权码,记一下
三、创建程序,发送邮件
标准端口25,也可以使用加密端口465或587
Test01SendMail.java
package com.zhiyou100.email;
import com.sun.xml.internal.xsom.impl.parser.SubstGroupBaseTypeRef;
import lombok.SneakyThrows;
import org.springframework.web.bind.ServletRequestDataBinder;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;
/**
* 发送邮件
*
* @author yang
* @version 1.0.0
* @date 2020-09-16 10:28
*/
public class Test01SendMail {
/**
* 邮箱名字
*/
public static final String MY_EMAIL_ACCOUNT = "javayanglei2001@126.com";
/**
* 授权码
*/
public static final String MY_EMAIL_PASSWORD = "OAJFKDISCBDVRGJE";
/**
* SMTP服务器: smtp.126.com
*/
public static final String EMAIL_163_SMTP_HOST = "smtp.126.com";
/**
* 端口号
* QQ邮箱:SMTP服务器是 smtp.qq.com,端口是465/587;
* 163邮箱:SMTP服务器是 smtp.163.com,端口是 25;
* Gmail邮箱:SMTP服务器是 smtp.gmail.com,端口是465/587。
*/
public static final String EMAIL_163_SMTP_PORT = "25";
@SneakyThrows
public static void main(String[] args) {
// 收件人
String receiver = "yanglei20011123@163.com";
// 标题
String subject = "你好,我是小号";
// 内容
String content = "
发送成功!!!
";sendMessage(receiver,subject,content);
}
public static void sendMessage(String receiver,String subject,String content)throws Exception {
//属性集
Properties p = new Properties();
p.setProperty("mail.smtp.host", EMAIL_163_SMTP_HOST);
p.setProperty("mail.smtp.port", EMAIL_163_SMTP_PORT);
p.setProperty("mail.smtp.socketFactory.port", EMAIL_163_SMTP_PORT);
//是否需要认证
p.setProperty("mail.smtp.auth", "true");
p.setProperty("mail.smtp.socketFactory.class", "SSL_FACTORY");
//获取连接
Session session = Session.getInstance(p, new Authenticator() {
// 设置认证账户信息
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(MY_EMAIL_ACCOUNT, MY_EMAIL_PASSWORD);
}
});
//设置debug测试
session.setDebug(true);
System.out.println("创建邮件");
MimeMessage message = new MimeMessage(session);
// 发件人
message.setFrom(new InternetAddress(MY_EMAIL_ACCOUNT));
// 收件人和抄送人
message.setRecipients(Message.RecipientType.TO, receiver);
// 内容(这个内容还不能乱写,有可能会被SMTP拒绝掉;多试几次吧)
message.setSubject(subject);
message.setContent(content, "text/html;charset=UTF-8");
message.setSentDate(new Date());
message.saveChanges();//保存设置
System.out.println("准备发送");
Transport.send(message);
System.out.println("发送成功!");
}
}
发送成功!