Mailgun API响应以验证邮件

时间:2019-05-10 21:20:34

标签: php mailgun

我一直在使用邮件API来验证电子邮件,但是它没有返回响应。我做错了什么?

curl_setopt_array($this->curl, array(
      CURLOPT_URL => "https://api.mailgun.net/v4/address/validate?address=".$email,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_CUSTOMREQUEST => "GET",
      CURLOPT_POSTFIELDS => "address=".$email,
      CURLOPT_HTTPHEADER => array(
          "cache-control: no-cache"
          "Authorization: Basic " . base64_encode("api:mikey")
      ),
));

$result=curl_exec ($this->curl);
error_log("result ". print_r($result, true));
$err = curl_error($this->curl);
curl_close($this->curl);
error_log("url: ".print_r($url, true));
error_log("error: ".print_r($err, true));
error_log("result: ".print_r($result, true));
return $result;

1 个答案:

答案 0 :(得分:0)

好吧,我在使用Guzzle 6时也遇到了同样的问题。

您应将您的帐户域放在API基本URL的末尾:

https://api.mailgun.net/v4/ mysite.com

在Guzzle中,这些是我的配置(PHP中的脚本):

$http_client = new Client([
        'base_uri' => 'https://api.mailgun.net/v4/mysite.com',
        'allow_redirects' => true,
        'debug' => true, // for development purposes
        'http_errors' => false
]);

这是 GET 请求呼叫:

$response = $http_client->request(
  'get',
  'address/validate',
  [
    'query' => ['address' => 'mail@mail.com']
    'auth' => ['api', 'your_account_api_private_key'];
  ]
);
相关问题