就发布任何内容而言,我是StackOverflow的新手。 如果我做不正确,请原谅。
我找到了一篇帖子,展示了如何在Codeigniter中集成Mailgun API,并且效果很好。 请在此处查看-How to work with Mailgun API in CodeIgniter; Forbidden error in 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 :(得分: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
并检查mailgun日志以获取其他失败信息