Gmail用户可以使用Gmail的SMTP服务器smtp.gmail.com从其Spring Boot应用程序发送电子邮件。 为此,让我们在应用程序中进行一些设置:

  1. application.properties文件中提供SMTP连接属性:

    spring.mail.host=smtp.gmail.com
    spring.mail.username=<your gmail/google app email>
    spring.mail.password=*****
    spring.mail.port=587
    spring.mail.properties.mail.smtp.starttls.enable=true
    spring.mail.properties.mail.smtp.auth=true
    spring.mail.properties.mail.smtp.starttls.required=true
  2. 使用Spring Boot Email工具库–它是Spring Boot Email入门库的包装。 在pom.xml中添加以下内容:
    <dependency><groupId>it.ozimov</groupId><artifactId>spring-boot-email-core</artifactId><version>0.6.3</version>
    </dependency>
  3. 注释你的应用程序的主类(@SpringBootApplication注解,即类)与@EnableEmailTools:
    @SpringBootApplication
    @EnableEmailTools
    public class EmailApplication {public static void main(String[] args){SpringApplication.run(EmailApplication.class, args);}
    }
  4. 让我们编写一个使用它的测试。ozimov.springboot.mail.service.EmailService bean发送电子邮件:
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class EmailServiceTest {@Autowired it.ozimov.springboot.mail.service.EmailService emailService; @Value("${spring.mail.username}") String fromEmail; @Test public void testSendEmail() throws UnsupportedEncodingException { User user = new User(); user.setEmail("sanaulla123@gmail.com"); user.setDisplayName("Mohamed Sanaulla"); final Email email = DefaultEmail.builder() .from(new InternetAddress(fromEmail, "From Name")).to(Lists.newArrayList(new InternetAddress(user.getEmail(), user.getDisplayName()))) .subject("Testing email").body("Testing body ...").encoding("UTF-8").build();emailService.send(email); }
    }

如果一切顺利,您应该在收件箱中收到一封电子邮件。

但是,当我尝试上述代码时,一切都不好,并且我遇到的问题是以下异常:

Caused by: javax.mail.AuthenticationFailedException: 534-5.7.14
<https://accounts.google.com/signin/continue?sarp=1≻c=1&plt=AKgnsbs2
534-5.7.14 tEY84q9p029iw1YKFy_d8O1vYNwHLixZUNHZlZbIqZki9a-EBfcUTPIenD2i6pN704O_7S
534-5.7.14 DK4FC-8-l1K1gU537F4UxjN4v4_txZ5pqxEA8ATwDhmOBzvxAYApfJTQjHL1yhHouwbhGO
534-5.7.14 LhOzSAB6Va6u-enaDfcv73dEgv1TT4b19dBfgzIkOoz_7nJ3i-LwWxZqIRyxOEnu8iNIYQ
534-5.7.14 iV27v9s4HFOrpSOJNGufv1Hg0wU5s> Please log in via your web browser and
534-5.7.14 then try again.
534-5.7.14 Learn more at
534 5.7.14 https://support.google.com/mail/answer/78754 q6sm2366693pgp.58 - gsmtp

发生此错误的原因是我的Gmail / G Suite电子邮件(即使用自定义域的电子邮件)未配置为允许从安全性较低的应用程序(例如我们的应用程序)发送电子邮件。 为此,您需要访问:https://www.google.com/settings/security/lesssecureapps并启用“ 允许安全程度较低的应用程序 ”切换,如下所示:

有时,当您访问不太安全的应用程序链接时,会看到如下所示的内容:

在这种情况下,您可能正在使用G Suite,并且需要管理员启用“安全性较低的应用程序”功能,这可以通过执行以下步骤来完成:

  1. 导航到http://google.com/a/ <域名>
  2. 从菜单中导航到“安全性”设置,如下图所示:
  3. 在安全设置页面上单击“ 基本设置 ”,如下所示:
  4. 在“基本设置”页面上,找到“ 安全性较低的应用程序”部分,然后单击“ 转到安全性较低的应用程序的设置 ”,如下所示:
  5. 现在,在“不太安全的应用程序”页面上,可以使用以下选项:
    选择“ 允许用户管理对不太安全的应用程序的访问 ”,然后单击页面底部的“ 保存”按钮。 这将允许单个用户控制来自不太安全的应用程序对其电子邮件的访问。

现在,浏览至https://www.google.com/settings/security/lesssecureapps页面,现在您将能够看到用于更新“ 允许安全性较低的应用程序 ”选项的切换开关。

翻译自: https://www.javacodegeeks.com/2017/09/using-gmail-smtp-server-java-spring-boot-apps.html

通过Java,Spring Boot应用程序将Gmail用作SMTP服务器相关推荐

  1. 通过Java和Spring Boot应用程序将Gmail用作SMTP服务器

    Gmail用户可以使用Gmail的SMTP服务器smtp.gmail.com从其Spring Boot应用程序发送电子邮件. 为此,让我们在应用程序中进行一些设置: 在application.prop ...

  2. 怎么运行aws的示例程序_使Spring Boot应用程序在AWS上无服务器运行

    怎么运行aws的示例程序 在之前的 几篇 文章中,我描述了如何设置Spring Boot应用程序并在AWS Elastic Beanstalk上运行它. 尽管这是从物理服务器到云服务器的重要一步,但还 ...

  3. Openshift:使用Java 8在Wildfly 8.2.0上构建Spring Boot应用程序

    OpenShift DIY墨盒是在OpenShift上测试不受支持的语言的好方法. 但是它不具有可伸缩性(您可以在此处为可伸缩DIY墨盒投票),这使得它很难与生产级Spring Boot应用程序一起使 ...

  4. java获取keyvault_教程:在 Java Spring Boot 应用中使用 Azure 应用程序配置 Key Vault 引用 | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 教程:在 Java S ...

  5. SpringBoot之二:部署Spring Boot应用程序方式

    衡量多种部署方式 Spring Boot应用程序有多种构建和运行方式,其中一些你已经使用过了. 在IDE中运行应用程序(涉及Spring ToolSuite或IntelliJ IDEA). 使用Mav ...

  6. Java Spring Boot 2.0 实战之制作Docker镜像并推送到Docker Hub和阿里云仓库

    内容摘要:大规模集群快速部署Java应用,需要制作Docker镜像,本次课程详细介绍如何制作Java程序的Docker镜像文件,深入解析DockerFile核心参数,以及实践演练把我们制作的Docke ...

  7. Spring Boot之程序性能监控

    转载自 Spring Boot之程序性能监控 Spring Boot特别适合团队构建各种可快速迭代的微服务,同时为了减少程序本身监控系统的开发量,Spring Boot提供了actuator模块,可以 ...

  8. buildpack_使用Buildpack容器化Spring Boot应用程序

    buildpack 在本文中,我们将看到如何使用Buildpacks容器化Spring Boot应用程序. 在先前的一篇文章中,我讨论了Jib . Jib允许我们在不使用Dockerfile的情况下将 ...

  9. compose应用_带有PostgreSQLDocker Compose for Spring Boot应用程序

    compose应用 在此博客文章中,您将学习如何使用PostgreSQL配置Spring Boot应用程序以与Docker Compose一起运行. 这篇博客文章涵盖: Spring Boot应用程序 ...

最新文章

  1. 车提示检测轮胎气压_无钥匙启动的车启动后,车主带着钥匙离开车,能不能把车开走?...
  2. 给Hangfire的webjob增加callback和动态判断返回结果功能设计
  3. SSL/TLS捕包分析
  4. SDOI2017round1酱油记day0
  5. 常用图像处理相关图像数据库
  6. mysql上传spc数据慢_SPC实施篇:控制图数据处理这8个细节要注意!
  7. 容斥原理在C语言中的应用,容斥原理在排列问题中的应用实例
  8. [转]myip.cn-电影格式转换器www.sifangvideo.com
  9. 【.Net实用方法总结】 整理并总结System.IO中Directory类及其方法介绍
  10. vnc下:无法执行默认的终端模拟器
  11. java Web api接入讯飞aiui(1)
  12. 3 4j不是合法的python表达式_3+4j不是合法的Python表达式。
  13. 数据采集:如何自动化采集数据
  14. 银行业务--资产业务
  15. win7上安装microsoft edge浏览器, 模拟ie11模式
  16. ElasticSearch 文档检索、查询建议、数据聚合
  17. runas 显示740 所需的操作需要提升的解决方法
  18. 计算机程序设计基础----习题4
  19. 常用数据加密和解密方法汇总
  20. 地址代码Arduino以太网插板教程

热门文章

  1. baiduTemplate / artTemplate
  2. 谈谈HashMap线程不安全的体现
  3. java中Date与DateFormat的格式输出
  4. interface关键字
  5. Linux基本目录解释
  6. 学生用计算机说明方法,15.文中多处运用了作比较的说明方法.请任选一例.说说运用这种方法的作用. 例子: 作用:...
  7. 百度地图描绘轨迹html,百度地图API 绘制轨迹历史
  8. c# 向mysql插入数据_C#连接mysql数据库 及向表中插入数据的方法
  9. 转-Apache kafka 工作原理介绍
  10. MySQL的CRUD操作+使用视图