如何使用来自欧盟域的 Mailgun 验证 Java 代码中的电子邮件?

问题描述 投票:0回答:2

我有一段 Java 代码来验证电子邮件:

MailgunEmailVerificationApi mailgunEmailVerificationApi = MailgunClient.config("https://api.eu.mailgun.net/",
                "b6bbdb234cf9dc46250diu606c9e5c198-324e0bb2-46091a28")
        .logLevel(feign.Logger.Level.FULL)
          .createApi(MailgunEmailVerificationApi.class);

log.info("mail Validation {} ", mailgunEmailVerificationApi.validateAddress("[email protected]"));

但是我在日志中收到此消息 =>

{"message":"This feature is unavailable please contact support."}

完整日志:

11:29:24.159 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] ---> GET https://api.eu.mailgun.net/v4/address/validate?address=foo%40mailgun.com HTTP/1.1
11:29:24.160 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] Accept: application/json
11:29:24.160 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] Authorization: Basic YXBpOmI2YmJkYjIzNGNmOBkYzYwNmM5ZTVjMTnj84LTMyNGUwYmIyLTQ2MDkxYTI4
11:29:24.160 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] ---> END HTTP (0-byte body)
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] <--- HTTP/1.1 403 Forbidden (329ms)
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] access-control-allow-credentials: true
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] access-control-allow-origin: *
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] cache-control: no-store
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] content-length: 66
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] content-type: application/json; charset=utf-8
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] date: Thu, 26 Oct 2023 08:29:24 GMT
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] strict-transport-security: max-age=63072000; includeSubDomains
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] x-xss-protection: 1; mode=block
11:29:24.490 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress]
11:29:24.491 [main] INFO com.mailgun.util.ConsoleLogger -- [MailgunEmailVerificationApi#validateAddress] {"message":"This feature is unavailable please contact support."}
java mailgun mailgun-api
2个回答
0
投票

阅读此 Github 问题 -> https://github.com/mailgun/mailgun-php/issues/617

不幸的是,MailGun仅在US服务器上支持电子邮件验证,而不在EU服务器上。


解决方案:

  • 尝试将 MailGun 服务器托管在 US 区域,以使 电子邮件验证 正常工作。

  • 我看到电子邮件验证仅通过 v4 API 提供。

  • 我不确定,但我猜 v4 功能不是免费使用的,您需要购买订阅才能使 v4 API 正常工作。

  • 当涉及到 v4 API 时,您只需要使用 私钥

MailGun Java SDK 的 IntelliJ 屏幕截图:


0
投票

mailgun文档中所述,电子邮件验证服务可通过EU API使用。

您可以查看SDK 文档,您也正确配置了电子邮件验证服务。

假设您在针对服务进行身份验证时提供了正确的主帐户 API 密钥,最可能的原因是您的帐户无法使用电子邮件验证服务。

如定价文档页面所示:

仅默认提供电子邮件验证服务,在其规模和企业计划以及基础计划中的可用电子邮件验证数量方面存在限制。请确保您在尝试使用电子邮件验证 API 之前已经购买了其中一些选项或附加组件:我认为这是导致您收到错误的原因,其中该服务表明电子邮件验证功能是不可用。

© www.soinside.com 2019 - 2024. All rights reserved.