【问题标题】:Sending email with Javamail from a script without a password从没有密码的脚本使用 Javamail 发送电子邮件
【发布时间】:2018-01-05 04:08:59
【问题描述】:

我有一个运行 Java 程序的脚本,每晚运行一些测试。它需要使用 JavaMail 和 Google 应用程序帐户通过电子邮件发送测试结果。

如何使用 Gmail 进行身份验证(通过 JavaMail API),而不将密码存储在运行每晚测试的机器上?我可以获得某种有效的 Gmail 身份验证密钥,比如一个月吗?我不介意每个月刷新一次密钥,但又不想在测试机上保留密码。

Google 电子邮件帐户需要花钱,所以我不希望创建一个新帐户只是为了通过电子邮件发送测试结果。

【问题讨论】:

    标签: testing gmail jakarta-mail


    【解决方案1】:

    我自己没有尝试过,但您可以尝试使用 googlemail 的 MX 服务器发送邮件。目前这些是

    ~ $ host -t MX googlemail.com
    googlemail.com mail is handled by 40 alt4.gmail-smtp-in.l.google.com.
    googlemail.com mail is handled by 10 alt1.gmail-smtp-in.l.google.com.
    googlemail.com mail is handled by 20 alt2.gmail-smtp-in.l.google.com.
    googlemail.com mail is handled by 5 gmail-smtp-in.l.google.com.
    googlemail.com mail is handled by 30 alt3.gmail-smtp-in.l.google.com.
    

    这些是负责来自外部世界的入站邮件的服务器,它是普通的 SMTP,无需身份验证(但您可以尝试启动 TLS 以使传输更安全)。不过,可能有一些检查会阻止您将邮件传递到这些服务器(dyn-IP-checks、SFP 等),这就是可能失败的原因。

    如果您不想发送到 Google 邮件地址,您可以尝试相同的方法,但将 Google 的 MX 服务器替换为负责您要发送到的邮件地址的服务器。只需将上述调用与不同的域一起使用,或者如果您的系统上没有该命令作为“mx 查找”的搜索结果之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-03
      • 2018-12-18
      • 2015-01-09
      • 1970-01-01
      • 2012-04-27
      • 2017-10-17
      • 2020-11-03
      相关资源
      最近更新 更多