php – 如何使用mailgun发送带附件的批量/群发电子邮件?

我想发送带附件的批量电子邮件.我可以通过将相同的文件附加到所有电子邮件来发送批量电子邮件.但我需要通过在收件人变量中添加文件路径将不同的文件附加到不同的电子邮件中.我在mailgun的官方文档中看不到任何相关内容.

这是我的代码:

 # Instantiate the client.
    $mgClient = new Mailgun('key-****');
    $domain = "foo.bar.com";

    # Make the call to the client.
    $result = $mgClient->sendMessage($domain, array(
        'from'    => 'gido@foo.baar.com',
        'to'      => array('user1@gmail.com', 'user2@gmail.com'),
        'subject' => 'Hi %recipient.first%',
        'text'    => 'Hey there, Just Testing',
        'recipient-variables' => '{"user1@gmail.com": {"first":"User1", "id":1, "file" : "/path/to/file1"},
                                   "user2@gmail.com": {"first":"User2", "id": 2, "file" : "/path/to/file2"}}'
    ), array(
        'attachment' => array('%recipient.file%')
    ));    

上面的代码不起作用.附件数组无法使用收件人变量.用/ path / to / file替换%recipient.image%可以正常工作.

最佳答案 根据与Mailgun支持团队的对话,此时Mailgun无法为每个收件人分配特定附件.可以尝试的一件事是提供服务器上的文件并为用户分配URL以从中检索文件(仅在文件不是机密并且永久存储在服务器上时才建议使用.)

点赞