0

我正在使用 sendinblue 处理交易电子邮件,并且需要以编程方式(php)将 csv 文件作为附件添加到我的电子邮件中。

我的主要代码如下:

$credentials = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', 'xxxx');

$apiInstance = new SendinBlue\Client\Api\TransactionalEmailsApi(new GuzzleHttp\Client(),$credentials);
    $sendSmtpEmail = new \SendinBlue\Client\Model\SendSmtpEmail([
         'subject' => 'test email!',
         'sender' => ['name' => 'test', 'email' => 'noreply@example.com'],
         'replyTo' => ['name' => 'test', 'email' => 'noreply@example.com'],
         'to' => [[ 'name' => 'elon musk', 'email' => 'test@example.com']],
         'htmlContent' => '<html><body><h1>This is a transactional email {{params.bodyMessage}}</h1></body></html>',
         'params' => ['bodyMessage' => 'this is a test!']
    ]);

$attachement = new \SendinBlue\Client\Model\SendSmtpEmailAttachment();
$attachement['url']= 'https://example.com/api_email/test.csv';
$attachement['name']= 'test.csv';
$attachement['content']= "utf-8";
$sendSmtpEmail['attachment']= $attachement;


try {
    $result = $apiInstance->sendTransacEmail($sendSmtpEmail);
    print_r($result);
} catch (Exception $e) {
    echo $e->getMessage(),PHP_EOL;
}

我收到错误“ [400] Client error: POST https://api.sendinblue.com/v3/smtp/email`导致400 Bad Request响应:{“code”:“invalid_parameter”,“message”:“请求中传递的附件无效。”}` "

我不明白哪个参数无效,我也想发送纯文本(csv)所以我想这里没有涉及 base64 ......

4

0 回答 0