I didn’t use the mailjet wrapper, instead I used curl to call the request. Here’s an example code to send a pdf attachment file with mailjet. I believe its similar to the code in their documentation.
function sendMailjetAttachment($email = '', $name = '', $subject = '', $message = '', $file = '') {
$mailjetApiKey = '';
$mailjetApiSecret = '';
$pdfBase64 = base64_encode(file_get_contents($file));
$data = [
'Messages' => [
[
'From' => [
'Email' => "[email protected]",
'Name' => "From Email"
],
'To' => [
[
'Email' => $email,
'Name' => $name
]
],
'Subject' => $subject,
'TextPart' => $message,
'Attachments' => [
[
'ContentType' => "application/pdf",
'Filename' => "sample.pdf",
'Base64Content' => $pdfBase64
]
]
]
]
];
$dataString = json_encode($data);
$ch = curl_init('https://api.mailjet.com/v3.1/send');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString);
curl_setopt($ch, CURLOPT_USERPWD, "{$mailjetApiKey}:{$mailjetApiSecret}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($dataString))
);
$response = json_decode(curl_exec($ch));
print_r($response);
}
