我有一个运行Java程序的脚本,每晚运行一些测试。它需要使用JavaMail和Google应用程序帐户通过电子邮件发送测试结果。
如何通过Gmail(通过JavaMail API)进行身份验证,而无需将密码存储在运行夜间测试的计算机上?我可以获得某种有效期为一个月的Gmail身份验证密钥吗?我不介意每月刷新密钥,但不想将密码保存在测试机器上。
Google电子邮件帐户需要花钱,因此我不想仅仅通过电子邮件发送测试结果来创建新帐户。
答案 0 :(得分:0)
我自己没有尝试过,但您可以尝试使用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 lookup"如果你没有把它作为你系统上的命令。