【问题标题】:Configuring Jenkins email notification with gmail使用 gmail 配置 Jenkins 电子邮件通知
【发布时间】:2020-01-18 16:28:01
【问题描述】:

我尝试将 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

测试失败:连接被拒绝

javax.mail.MessagingException:无法连接到 SMTP 主机:pop.gmail.com,端口:995; 嵌套异常是: java.net.ConnectException:连接被拒绝:连接

【问题讨论】:

  • 你可以试试telnet smtp.gmail.com 995看看端口是否开放
  • 确实我试过:telnet smtp.gmail.com 465 或 telnet pop.gmail.com 995,在这两种情况下我都连接失败。我该怎么办?
  • 好吧,如果 telnet 失败,这显然意味着您的防火墙阻止了出站端口..您需要与您的网络管理员一起解决这个问题。

标签: smtp jenkins gmail port


【解决方案1】:

Google SMTP 服务器的主机名是 smtp.gmail.com,如果您使用 SSL,那么正确的端口是 465。

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

【讨论】:

  • 事实上,如果我使用 smtp.gmail.com,我也会遇到同样的错误。我都试过了
  • 正如 Pulak Agrawal 所写,在这种情况下,您的服务器和互联网之间可能有防火墙阻止了该端口。
  • 您可能需要登录您的 gmail 帐户并在安全性“允许不太安全”的应用程序下。
【解决方案2】:

以下是更新的 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

这个配置对我来说很好用。

【讨论】:

【解决方案3】:

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

https://support.google.com/accounts/answer/6010255

转到“我的帐户”中的“不太安全的应用”部分。 在“访问安全性较低的应用”旁边,选择开启。 (G Suite 用户请注意:如果您的管理员锁定了不太安全的应用帐户访问权限,则此设置会隐藏。)

成功触发此电子邮件后。

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • @MartinZabel 已更新。
  • 感谢它对我有用:在此处打开:myaccount.google.com/lesssecureapps
  • 只是为了更好的可见性:错误消息:javax.mail.AuthenticationFailedException: 535-5.7.8 用户名和密码不被接受。了解更多信息,请致电 535 5.7.8 support.google.com/mail/?p=BadCredentials
【解决方案4】:
  1. 获取应用专用密码

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

    • 设置两步验证设置(因为没有两步验证我们无法生成应用专用密码)

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

    • 点击应用程序特定密码>>在下拉列表中将应用程序的名称输入为 Jenkins(google 默认没有任何针对 Jenkins 的特定应用程序密码设置) >> 这个将生成密码记下生成的密码

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

  1. 设置 SMTP 配置以发送 gmail

    • 登录后从仪表板导航到以下路径 管理Jenkins >> configure system >> scroll down to email notification section

    • 输入以下参数

      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 发送测试邮件

【讨论】:

  • 感谢您提供正确的设置说明。
【解决方案5】:

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

【讨论】:

    【解决方案6】:

    通知

    最新的 ma​​iler 插件 1.24 版本有一个错误,即使您的配置正确,也会导致测试配置失败(需要验证)。从官网下载1.23(.hpi文件)版本,然后从manage plugin->advanced上传。重启jenkins,应该可以正常使用了。

    只需要开启安全性较低的应用访问,无需开启两步验证。

    【讨论】:

    • Google is going to remove 从 2022 年 5 月 30 日起允许访问安全性较低的应用的功能。请改用特定应用的密码。
    【解决方案7】:

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

    1. Install Jenkins Notification Plugin。您可能需要重新启动 Jenkins
    2. 转到 Zapier 并创建一个 Jenkins 触发器
    3. 在你的项目下的Jenkins中:Configure -> Job Notifications,填写选项。使用 JSON 似乎对我有用。
    4. 在 Zapier 中添加 Gmail 操作。您应该可以在您的 gmail 帐户中通过单点登录进行设置。

    PS。除了它对我有用之外,我没有理由推荐 Zapier,而且有一个解决方案不会影响我的 gmail 帐户。

    【讨论】:

      【解决方案8】:

      以下设置对我来说效果很好。


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

      SMTP 设置:

      SMTP 服务器 - smtp.gmail.com
      使用 SMTP 身份验证 - 选中
      用户名 - your-gmail-username@gmail.com
      密码 - your-gmail-password for 以上帐号>

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-14
        • 2017-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多