php - 如何使用 Mailgun API 设置这些电子邮件 header

标签 php api email curl mailgun

我在 PHP 中使用 curl 与 MailGun API 进行通信。 我有两封电子邮件,我需要我的收件人接收带有以下标题的电子邮件。 您能否给我一个用于实现这些邮件 header 的 curl(或 PHP 的 curl 库)示例代码片段?

-- 电子邮件 1 --

From: "My Name"

Content-type: text/plain;charset="iso-8859-1"

Content-Transfer-Encoding: 8bit

-- 电子邮件 2 --

MIME-Version: 1.0

From:my.domain.com <customerservice@mydomain.com>

Reply-To: my.domain.com <customerservice@mydomain.com>

Content-Type: multipart/alternative;boundary="=_730dc78ab764a3e997c2c451d9352d87"

Message-ID: <ndfmzn.jquf15@my.domain.com>

最佳答案

您可以在数组中添加任意数量的 header ,只要它们以“h:”为前缀即可

'h:Message-Id'=>  'ndfmzn.jquf15@my.domain.com', //Your Message-ID

下面是关于如何实现它的一些更详细的解释:

<?php
$mg_api = 'key-XXX'; //YOUR API KEY
$mg_version = 'api.mailgun.net/v2/'; //ROOT URL FOR MAILGUN
$mg_domain = "samples.mailgun.org"; //YOUR DOMAIN AS SPECIFIED IN THE CONTROL PANEL
$mg_from_email = "info@samples.com"; // YOUR FROM EMAIL
$mg_reply_to_email = "info@samples.org"; // YOUR REPLY-TO EMAIL (USUALLY MATCHES FROM EMAIL)

$mg_message_url = "https://".$mg_version.$mg_domain."/messages";


$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

curl_setopt ($ch, CURLOPT_MAXREDIRS, 3);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_VERBOSE, 0);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($ch, CURLOPT_USERPWD, 'api:' . $mg_api);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_URL, $mg_message_url);
curl_setopt($ch, CURLOPT_POSTFIELDS,                
        array(  'from'      => 'you@domain.com',
                'to'        => 'receiver@receiver.com',
                'h:Reply-To'=>  ' <' . $mg_reply_to_email . '>',
                'h:Message-Id'=>  'ndfmzn.jquf15@my.domain.com', //Your Message-ID
                'subject'   => 'Hello',
                'html'      => 'Mailgun POW POW!'
            ));
$result = curl_exec($ch);
curl_close($ch);
$res = json_decode($result,TRUE);
print_r($res);

关于php - 如何使用 Mailgun API 设置这些电子邮件 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26361595/

相关文章:

java - 启动前休息功能失败

PHP如何防止邮件在header中泄露脚本和IP

php - PHP邮件功能无法完成电子邮件的发送

PHP rtrim 和 ltrim 的修剪比预期的要多

php - 如何使用 PHP 将一长行 html 代码替换为不同的代码?

php - 难题 - 如何从 PHP 中提取图像的 'colorify' 部分?

api - 带参数的 Laravel 资源导致其他路由抛出错误

PHP 多重搜索查询返回所有行

php - 如何从发票 ID 获取 PayPal 交易 ID

c# 从 Outlook 收件箱转发电子邮件