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. .net core 应用程序“default web site”中的服务器错误_Net程序员讲JAVA系列——Spring Boot“科普篇”...

    通过Spring Boot,可以轻松地创建独立的,基于生产级别的基于Spring的应用程序,您可以"运行"它们. 我们对Spring平台和第三方库持固执己见的观点,因此您可以以最小 ...

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

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

  6. Spring Boot之程序性能监控

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

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

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

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

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

  9. apache ignite_Kubernetes集群上的Apache Ignite和Spring第1部分:Spring Boot应用程序

    apache ignite 在之前的一系列博客中,我们在Kubernetes集群上启动了一个Ignite集群. 在本教程中,我们将使用先前在Spring Boot Application上创建的Ign ...

最新文章

  1. Linux安装redis最新版5.0.8
  2. 开源监控系统 Prometheus 入门
  3. 海西数据获评优秀服务器租用服务商奖项
  4. python 小波去噪,用Pywavelet去噪信号?
  5. 1339: 考试排名
  6. 配合jenkins 启动jar包需要的脚本
  7. FCPX无缝扭曲过渡转场Twirl Transition Pack for Mac
  8. Fedora10使用若干问题
  9. Oracle数据库入门教程(作者原创)
  10. Node.JS EXCEL 读取操作
  11. 正确激活报表插件的方法
  12. 树莓派调节显示屏分辨率
  13. 制造业数字化转型内涵和过程
  14. Android 热修复一(热修复流程原理)
  15. 张量、向量、标量的区别
  16. SQL经典案例(学生表,课程表,选课表,教师表) 练习
  17. 唐骏的秘密:我从最后一名开始努力
  18. phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接.您应该检查配置文件中的
  19. kettle—资源库详解
  20. Vue的基础入门及使用

热门文章

  1. ARC132D-Between Two Binary Strings【贪心】
  2. P2834-能力测验【数论,整除分块】
  3. 背包例题の01,完全,多重
  4. P2153-晨跑【费用流,网络流,拆点】
  5. 【树链剖分】洛谷树(P3401)
  6. 【期望】选书问题(金牌导航 期望-7)
  7. 纪中B组模拟赛总结(2020.2.3)
  8. 【匈牙利算法】指引(jzoj 2319)
  9. 【动态规划】数字金字塔
  10. vue-router 如何在当前路由下重新点击当前路由的router-link实现刷新