您的位置 首页 > 数码极客

如何开启邮箱pop3、如何开启邮箱pop3服务…

1. 开启邮箱POP3/SMTP服务

登录qq邮箱后,点击左上方的设置,选择账户,如下图。

然后一直往下滑,看到如下图的POP3/SMTP服务,点击开启,会让帮定的密保手机号发个[短信]到指定号码,然后会收到一个授权码,这个授权码在a配置中会用到,一定要好好保存,开启后如下图

2. springboot项目添加依赖

创建springboot项目,添加email依赖

<dependency> <groupId>org.;/groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>

我的依赖如下:

<dependencies> <dependency> <groupId>org.;/groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.;/groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.;/groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.3</version> </dependency> <!-- --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.2</version> </dependency> <!-- 模板引擎,发送模板邮件用到 --> <dependency> <groupId>org.;/groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!-- email--> <dependency> <groupId>org.;/groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> </dependencies>

3. 配置文件

######qq邮箱######## #协议 #邮箱服务器地址 #邮箱服务器地址 #这里的password不是登录密码,是开启POP3之后设置的客户端授权码 #邮箱密码,开启POP3/SMTP服务时会有给你 自己POP3/SMTP服务密码 #编码格式 ##默认端口25,使用465端口时,需要添加配置:

4. 邮件服务操作类

springboot引用模块都通常都提供一个xxxTmplate,方便我们开发,我们可以封装一个EmailTmplate

package com.ljw.; import lombok.Getter; import org.; import org.; import org.; import org.; import org.; import org.; import org.; import org.; import javax.anno; import javax.mail.MessagingException; import javax.mail.in; /** * @Description: 邮件操作类 * @Author: jianweil * @date: 2021/11/19 15:07 */ @Service @Getter public class EmailTemplate { @Resource private JavaMailSender javaMailSender; @Resource private TemplateEngine templateEngine; //@Resource //private MailProperties mailProperties; /** * 发送简单文本邮件 * * @param from 发送者邮箱 * @param to 接受者邮箱 * @param subject 邮件主题 * @param text 邮件内容 */ public void sendTextMail(String from, String to, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); // 发送者 me(from); // 接收者 me(to); //邮件主题 me(subject); // 邮件内容 me(text); javaMailSender.send(message); } /** * 发送Html邮件 * * @param from 发送者邮箱 * @param to 接受者邮箱 * @param subject 邮件主题 * @param html 邮件内容 带html标签 */ public void sendHtmlMail(String from, String to, String subject, String html) { try { MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); (from); (to); (subject); (html, true); javaMailSender.send(message); } catch (MessagingException e) { throw new RuntimeException("Messaging Exception !", e); } } /** * 发送附件邮件 * * @param from 发送者邮箱 * @param to 接受者邮箱 * @param subject 邮件主题 * @param text 邮件内容 * @param attachmentFilename 附件名称 * @param file 附件 */ public void sendAttachmentMail(String from, String to, String subject, String text, String attachmentFilename, FileSystemResource file) { MimeMessage message = javaMailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message, true); (from); (to); (subject); (text); //加入邮件 (attachmentFilename, file); javaMailSender.send(message); } catch (MessagingException e) { throw new RuntimeException("Messaging Exception !", e); } } /** * 发送内联资源邮件 * * @param from 发送者邮箱 * @param to 接受者邮箱 * @param subject 邮件主题 * @param text 邮件内容,包含内联文件id 如: String text = "<html><body>宫崎骏电影图片:<img src='cid:" + contentId + "' ></body></html>"; * @param contentId 内联文件id * @param file 文件 */ public void sendInlineResourceMail(String from, String to, String subject, String text, String contentId, FileSystemResource file) { MimeMessage message = javaMailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message, true); (from); (to); (subject); (text, true); (contentId, file); javaMailSender.send(message); } catch (MessagingException e) { throw new RuntimeException("Messaging Exception !", e); } } /** * 发送模板邮件 * * @param from 发送者邮箱 * @param to 接受者邮箱 * @param subject 邮件主题 * @param context 内容类,和模板匹配参数,如下配置id参数的值为myvaluesitest: * Context context = new Context(); * con("id","myvaluesitest"); * @param template templates目录下的模板文件名,如template则传:emailTemplate */ public void sendTemplateMail(String from, String to, String subject, IContext context, String template) { MimeMessage message = javaMailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message, true); (from); (to); (subject); String text = (template, context); (text, true); javaMailSender.send(message); } catch (MessagingException e) { throw new RuntimeException("Messaging Exception !", e); } } }

5. 测试类

package com.ljw.; import org.junit.ju; import org.; import org.; import org.; import org.; import javax.anno; import java.io.File; /** * @Description: todo * @Author: jianweil * @date: 2021/11/21 18:45 */ @SpringBootTest class EmailTemplateTest { @Resource private EmailTemplate emailTemplate; @Resource private MailProperties mailProperties; public String getSender() { return mailPro(); } public String getReceiver() { return mailPro(); } /** * 文本 */ @Test void sendTextMail() { emailTem(getSender(), getReceiver(), "标题:sendTextMail", "文本内容"); } /** * 带html标签 */ @Test void sendHtmlMail() { StringBuffer sb = new StringBuffer(); ("<h1>大标题-h1</h1>") .append("<p style='color:#F00'>红色字</p>") .append("<p style='text-align:right'>右对齐</p>"); emailTem(getSender(), getReceiver(), "标题:sendHtmlMail", ()); } /** * 带附件 */ @Test void sendAttachmentMail() { FileSystemResource file = new FileSystemResource(new File("src/main/resources/static/image;)); emailTem(getSender(), getReceiver(), "标题:sendAttachmentMail", "我发了一个附件给你注意查收", "附件名.jpg", file); } /** * 发送内联资源邮件 */ @Test void sendInlineResourceMail() { String imgId = "avatar"; String content = "<html><body>宫崎骏电影图片:<img src='cid:" + imgId + "' ></body></html>"; FileSystemResource res = new FileSystemResource(new File("src/main/resources/static/image;)); emailTem(getSender(), getReceiver(), "标题:sendInlineResourceMail", content, imgId, res); } /*** * 发送模板邮件 */ @Test void sendTemplateMail() { Context context = new Context(); con("id", "hello"); emailTem(getSender(), getReceiver(), "标题:sendTemplateMail", context, "helloTemplate"); } }

发送模板邮件用到的模板类:

<!DOCTYPE html> <html lang="zh" xmlns:th=";> <head> <meta charset="UTF-8"/> <title>模板邮件</title> </head> <body> 您好,这是模板邮件,请点击下面的链接完成跳转, <a href="#" th:href="@{';+${id}}">跳转百度</a> <a th:text=" ${id}"></a>。 </body> </html>

发送附件用到的图片:ava

ava:

这里就不贴测试发送邮件的截图,发送人和接收人换成自己邮箱,自己测试下就行。

6. 常用业务分析

  1. 用户注册后需要激活账号才能使用的场景:

用户注册成功,保存数据到redis,设置过期时间,并发送邮件信息到指定邮箱,该邮件含有用户唯一标识的key的超链接,用户点击该超链接则回访到我们的激活接口,验证信息正确则激活。如在设定时间内没有点击激活则激活失败。

2.其他需要通知的场景

作者:小伙子vae
链接:

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何开启邮箱pop3,如何开启邮箱pop3服务,如何开启邮箱pop服务,如何开启邮箱pop”边界阅读