我尝试使用 PHP 中的mailgun API 运行以下代码来发送多封电子邮件。但是没有使用该代码发送电子邮件。我的代码是:
require 'vendor/autoload.php';
use Mailgun\Mailgun;
$mgClient = new Mailgun("my-api-key");
$domain = "sandboxfa3e9009746840be831c6edc9e9f1ee9.mailgun.org";
$result = $mgClient->sendMessage("$domain",
array('from' => 'Mailgun Sandbox - Test
<postmaster@sandboxfa3e9009746840be831c6edc9e9f1ee9.mailgun.org>',
'to' => 'email_1@gmail.com, email_2@gmail.com',
'subject' => 'Mailgun bulk-msg test for KB',
'text' => 'Your mail do not support HTML',
'html' => 'html-portion here...',
'recipient-variables' => '{"email_1@gmail.com": {"first":"Name-1",
"id":1}, "email_2@gmail.com": {"first":"Name-2", "id": 2}}')
);
var_dump($result);
?>
#===============================================
我在代码中发错误发送多封电子邮件吗?如果您有任何解决方案,请提供帮助。
答案 0 :(得分:0)
我从他们的API中找到了这个。 (可能不是答案。仅供参考)
require 'vendor/autoload.php';
use Mailgun\Mailgun;
$mg = Mailgun::create('key-example');
# $mg->messages()->send($domain, $params);
$mg->messages()->send('example.com', [
'from' => 'bob@example.com',
'to' => 'sally@example.com',
'subject' => 'The PHP SDK is awesome!',
'text' => 'It is so simple to send a message.'
]);
答案 1 :(得分:0)
除了Abdulla指出的内容之外,我发现您正在编写"$domain"
作为文字域参数。如果用引号标记它,那么它将被解释为一个字符串,而不是变量本身。
更改以下内容并应该有效:
$result = $mgClient->sendMessage("$domain",
[...]
到
$result = $mgClient->sendMessage($domain,
[...]