Как работать с Attachment в Mailgun API в Codeigniter через curl

Я новичок в StackOverflow с точки зрения публикации чего-либо.
Пожалуйста, извините, если я не делаю это правильно.

Я нашел пост, который показывает, как интегрировать Mailgun API в Codeigniter, и он работает хорошо.
Пожалуйста, смотрите здесь — Как работать с Mailgun API в CodeIgniter; Запрещенная ошибка в curl_exe ()

Моя проблема возникает, когда я хочу прикрепить PDF в той же части кода.
Вместо того, чтобы использовать

$this->mailgun::send([
'from' => "Example.com team <no-reply@mg.example.com>",
'to' => "somerandomuser@gmail.com",
'subject' => "Welcome to Example.com",
'text' => "We just want to say hi. Have fun at Example.com"]);

Я надеялся использовать следующее:

$this->mailgun->send([
'from' => "Web Admin <postmaster@xxxxxx.xxxxxs.org>",
'to' => $toemail,
'subject' => $subj,
'text' => $bodtxt,
'html' => $bod,
'attachment' => curl_file_create($increport , 'application/pdf', $increportnm),
'h:Reply-To' => $replyname . ' <' . $replyemail . '>'
]);

Где $ increport — это путь к моему pdf-файлу, а $ increportnm — это имя pdf-файла.

Когда я запускаю это, в Mailgun нет сообщений электронной почты 🙁

Может кто-нибудь мне помочь?

0

Решение

Нет необходимости вызывать curl_file_create … вот как я делаю это из Codeigniter в Mailgun, и это работает:

$curl_post_data = array(
'from'       => 'Emailer name <noreply@mailer.domain.com>',
'to'         => $recipient,
'subject'    => $subject,
'text'       => $mailgun_text,
'html'       => $mailgun_text_html,
'attachment' => @'filename.ext',
);

$service_url = 'https://api.mailgun.net/v3/mailer.mydomain.com/messages';
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "api:xxxxxxxxxxxxxxxxxxx-xxxxxx-xxxxxx");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

после этого я бегу $curl_response = curl_exec($curl); и разобрать ответ как $response = json_decode($curl_response, true);

Попробуй это. Если электронные письма не выходят, попробуйте сделать print_r за $curl_response и проверьте журналы почтовой пушки на наличие дополнительной информации о сбое

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector