2

我正在寻找一种方法来验证传入电子邮件的 DKIM 签名。

我知道如何在 Java SE 中做到这一点,但它会使用诸如javax.naming.directory.DirContext从 DNS 服务器获取数据之类的类,并且此类不在 App Engine 中的白名单中。

知道如何与 Google App 引擎中的 DNS 进行通信吗?

有一篇博文说:

配置 DKIM 后,只需从您的 Google Apps 帐户发送一封电子邮件至:

dkim@dkim-test.appspotmail.com

在几分钟内,您应该会收到一封显示“通过”或“失败”的电子邮件。如果你的测试通过了,你就万事大吉了!

我试过了,它有效!它看起来像一个 Google App Engine 应用程序。是怎么做到的?!

4

1 回答 1

4

我是 dkim-test 应用程序的作者。不幸的是,我实际上并没有找到在 AppEngine 中进行 DNS 查询的本地方法。AppEngine 问题跟踪器中有一个功能请求:

http://code.google.com/p/googleappengine/issues/detail?id=354

我为 dkim-test 解决这个问题的方法是向http://whatsmyip.us/dns_txt.php?host=google.com发出 HTTP GET 请求 (其中 google.com 是我要检索 TXT 记录的主机) )。

显然,这里有一些不利的一面。dkim-test 完全依赖 whatsmyip.us 才能工作,如果该服务出现故障或者他们决定阻止 dkim-test,那么它就会中断。如果他们改变响应的格式,事情也会中断。

于 2011-05-13T12:34:44.783 回答