原文链接:https://blog.csdn.net/qq_38225558/article/details/84960229
第一步:项目引入相应资源 commons-email-xx.jar,mail.jar,activation.jar
maven项目pom引入 (注意对应配置的版本问题哦~) 可参考 --> maven依赖查询
- <!-- 邮件支持 -->
- <dependency>
- <groupId>javax.mail</groupId>
- <artifactId>mail</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <groupId>activation</groupId>
- <artifactId>activation</artifactId>
- <version>1.0.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-email</artifactId>
- <version>1.5</version>
- </dependency>
发送前注意需要对要发送的邮箱进行相应的设置,可参考 QQ邮箱开启SMTP服务的步骤
开启下面的2项
记住你的授权码哦,后面要使用到!!
第二步:发送邮件 (3种形式可供参考)
- /**
- * 发送QQ邮件
- * 方式①:发送邮件的简单代码
- * 方式②:发送邮件中添加附件
- * 方式③:发送HTML的邮件格式
- */
- public class EmailTest {
-
- @Test //发送邮件的简单代码
- public void testSimpleEmail() throws Exception {
- SimpleEmail email = new SimpleEmail(); //创建一个最简单的email对象
- //这里我使用的是QQ,使用的是smtp服务器,需要身份验证,大家如果是使用其它服务器,可以自己去网上进行搜索
- email.setHostName("smtp.qq.com");
- //POP3服务器(端口995)
- //SMTP服务器(端口465或587)。
- email.setSmtpPort(465);
- //验证信息(发送的邮箱地址与密码) 注:这里的密码是授权码
- email.setAuthenticator(new DefaultAuthenticator("xxx@qq.com", "填写你的授权码"));
- email.setSSLOnConnect(true); // 是否启用SSL
- email.setFrom("xxx@qq.com"); //发送邮件的地址(和验证信息的地址一样)
- email.setSubject("第一封简单邮件"); //邮件的标题
- email.setMsg("简单的邮件来了哦!!!"); //邮件的内容
- email.addTo("xxx@qq.com"); //发送给哪一个邮件
- email.send(); //进行邮件发送
- }
-
- @Test //发送邮件中添加附件
- public void testEmailAttachment() throws Exception {
- EmailAttachment attachment = new EmailAttachment(); //创建一个附件对象
- attachment.setPath("POITestImage/1.jpg"); //放一张项目中的图片(指向真实的附件)
- attachment.setDisposition(EmailAttachment.ATTACHMENT); //完成附件设置
- attachment.setDescription("这张图片是一个..."); //设置附件的描述
- attachment.setName("1.jpg"); //设置附件的名称
- //创建email对象(MultiPartEmail可以操作附件)
- MultiPartEmail email = new MultiPartEmail();
- email.setHostName("smtp.qq.com");
- email.setSmtpPort(465);
- //验证信息(发送的邮箱地址与密码) 注:这里的密码是授权码
- email.setAuthenticator(new DefaultAuthenticator("xxx@qq.com", "填写你的授权码"));
- email.setSSLOnConnect(true); // 是否启用SSL
- email.setFrom("xxx@qq.com"); //发送邮件的地址(和验证信息的地址一样)
- email.addTo("xxx@qq.com"); //发送给哪一个邮件
- email.setSubject("这是一张图片"); //邮件标题
- email.setMsg("我发了一张图片给你看哦!"); //邮件内容
- email.attach(attachment); //把附件加到邮件中
- email.send(); //发送邮件
- }
-
- @Test //发送HTML的邮件格式
- public void testHtml() throws Exception {
- HtmlEmail email = new HtmlEmail(); // 创建可以写Html的email对象
- email.setHostName("smtp.qq.com");
- email.setSmtpPort(465);
- email.setAuthenticator(new DefaultAuthenticator("xxx@qq.com", "填写你的授权码"));
- email.setSSLOnConnect(true); // 是否启用SSL
- email.setCharset("UTF-8"); //发送的时候如果乱码,配置相应的编码
- email.addTo("xxx@qq.com"); //发送给哪一个邮件
- email.setFrom("xxx@qq.com", "xx");//xx为发件人名字
- email.setSubject("这里面写HTML,非常厉害");
- //设置HTML的信息
- String url = "https://www.baidu.com/";
- email.setHtmlMsg("<html><h1 style='color:green;'><a href="+url+">www.baidu.com</a></h1>点击进入百度</html>");
- //email.setTextMsg("这个就是很一般的显示"); //也可以配置普通的信息
- email.send();//发送邮件
- }
-
- }
效果图:
第一步:项目引入相应资源 commons-email-xx.jar,mail.jar,activation.jar
来源:CSDN
作者:此生只愿你笑靥如繁花
链接:https://blog.csdn.net/qq_40629521/article/details/104089824