Smtp 使用gmail配置Jenkins电子邮件通知

Smtp 使用gmail配置Jenkins电子邮件通知,smtp,jenkins,gmail,port,Smtp,Jenkins,Gmail,Port,我尝试将jenkins配置为使用gmail作为POP提供商发送电子邮件通知,但未能成功 SMTP server - pop.gmail.com Default user e-mail suffix - @gmail.com Sender E-mail Address - Foobar CI <your.email@gmail.com> Use SMTP Authentication - yes User Name - your.email Password - p******d

我尝试将jenkins配置为使用gmail作为POP提供商发送电子邮件通知,但未能成功

SMTP server - pop.gmail.com
Default user e-mail suffix - @gmail.com
Sender E-mail Address - Foobar CI <your.email@gmail.com>

Use SMTP Authentication - yes
User Name - your.email
Password - p******d

Use SSL - yes
SMTP Port - 995
Reply-To Address - noreply@gmail.com
Charset - UTF-8
SMTP服务器-pop.gmail.com
默认用户电子邮件后缀-@gmail.com
发件人电子邮件地址-Foobar CI
使用SMTP身份验证-是
用户名-您的电子邮件地址
密码-p*******d
使用SSL-是
SMTP端口-995
对地址的答复-noreply@gmail.com
字符集-UTF-8
测试失败,连接被拒绝

javax.mail.MessaginException:无法连接到SMTP主机:pop.gmail.com,端口:995; 嵌套异常是:
java.net.ConnectException:连接被拒绝:连接Google SMTP服务器的主机名是SMTP.gmail.com,如果使用SSL,则正确的端口是465


POP服务器通常只用于接收邮件,而不是发送邮件。

以下是更新的gmail SMTP服务器配置:

Gmail SMTP server address: smtp.gmail.com
Gmail SMTP user name: Your full Gmail address (e.g. example@gmail.com)
Gmail SMTP password: Your Gmail password
Gmail SMTP port: 465
Gmail SMTP TLS/SSL required: yes

这个配置对我来说很好。

由于谷歌增加了安全措施,上面的配置不起作用。 触发邮件的Gmail帐户需要额外配置。此步骤授权Jenkins等应用程序使用Gmail帐户

转到我的帐户中的“不太安全的应用”部分。 在“访问不太安全的应用程序”旁,选择“打开”。(G套件用户注意:如果管理员已锁定不太安全的应用程序帐户访问,则此设置将隐藏。)


在此之后,电子邮件被成功触发

下面的屏幕截图说明了从GMail发送电子邮件所需的电子邮件配置

  • 获取特定于应用程序的密码

    • 登录gmail帐户>>导航至设置>>隐私和安全设置

    • 设置两步验证设置(因为没有两步验证,我们无法生成特定于应用程序的密码)

    • 在gmail帐户中设置两步验证设置后,导航回安全和隐私设置

    • 单击特定于应用程序的密码>>在下拉列表中将应用程序的名称指定为Jenkins(谷歌默认情况下没有任何特定于Jenkins的应用程序密码设置)>>这将生成密码,并记下生成的密码

  • 注意:由于密码对您的gmail帐户具有全面控制权,因此泄露密码可能会导致严重后果

  • 设置发送gmail的SMTP配置

    • 登录后,在仪表板的以下路径中导航 管理Jenkins>
      配置系统
      >
      向下滚动至电子邮件通知部分

    • 输入以下参数

      smtp server : smtp.gmail.com
      default user email suffix : @gmail.com
      
    • 选择高级

    • 检查smtp身份验证

      username : (Your gmail id)
      password : (application specific password generated from previous step)
      
    • 检查是否使用SSL

      SMTP port : 465
      Reply to address : noreply@gmail.com(optional)
      Charset : UTF-8 (by default it is UTF-8)
      
    • 选择测试配置邮件

      Test e-mail recipient : <enter recipient email id >
      
      测试电子邮件收件人:
      

  • 单击测试配置,它将向收件人的电子邮件id发送测试邮件

    我在他们的免费层上成功地做到了这一点(无需在gmail中打开“不太安全的应用程序”)

  • .你可能需要重新启动Jenkins
  • 转到Zapier并创建Jenkins触发器
  • 在Jenkins中,在您的项目下:Configure->Job Notifications,填写选项。使用JSON似乎适合我
  • 在Zapier中添加Gmail操作。你应该能够在你的Gmail帐户中设置单点登录

  • 另外,除了Zapier对我有效之外,我没有理由推荐它,而且有一个不使用我的gmail帐户的解决方案。

    注意

    最新的mailer插件版本1.24有一个bug,即使您有正确的配置,也会导致测试配置失败(需要验证)。从官方网站下载1.23(.hpi文件)版本,然后从管理插件->高级上传。重新启动jenkins,它应该可以正常工作


    只需启用不太安全的应用程序访问,无需打开两步验证。

    以下设置对我来说很好


    Jenkis版本:2.204.1
    Mailer插件版本:1.30

    SMTP设置:

    SMTP服务器-SMTP.gmail.com
    使用 SMTP身份验证-已选中
    用户名- 你的gmail-username@gmail.com
    密码-您的gmail密码 上述账户>

    注意:在谷歌的帐户设置中,必须关闭双因素身份验证,并且必须打开不太安全的应用程序访问

    使用SSL-已检查的SMTP端口-465
    字符集-UTF-8
    测试 连接-提供收件人电子邮件地址


    你能试试看端口是否打开吗?我确实试过了:telnet smtp.gmail.com 465或telnet pop.gmail.com 995,但在这两种情况下,我都连接失败了。我该怎么办?如果telnet失败,这显然意味着防火墙正在阻止出站端口。你需要与网络管理员一起修复这个问题是的。事实上,如果我使用smtp.gmail.com,我也会遇到同样的错误。我尝试过bothAs Pulak Agrawal写道,在这种情况下,你的服务器和internet之间可能有防火墙,这会阻止该端口。你可能需要登录到你的gmail帐户,并在安全性“Allow Less Secure”下登录应用程序。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能会无效。-@MartinZabel已更新。感谢它为我工作:在此处打开:只是为了更好的可见性:错误消息:javax.mail.AuthenticationFailedException:535-5.7.8用户名和密码不被接受。在535.7.8了解更多信息如果使用两步验证,则需要生成应用密码:“使用应用密码登录”-谢谢