我一直在使用邮件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;
答案 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'];
]
);