Saltar al contenido

Mailgun enviar correo con archivo adjunto

Si encuentras algo que no entiendes puedes comentarlo y te ayudaremos tan rápido como podamos.

Solución:

Cambia tu primer código a:

$filename = 'directory/example.pdf';
$parameters = array('from' => 'Example <[email protected]>',
                'to' => '[email protected]',
                'subject' => 'Subject',
                'text' => 'This is just a test.',
                'attachment[1]' => curl_file_create($filename, 'application/pdf', 'example.pdf'));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.mailgun.net/v3/mail.example.com/messages');
curl_setopt($ch, CURLOPT_USERPWD, 'api:key-ThisIsJustARandomString');

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

Cambié '@'.$filename a curl_file_create($filename, 'application/pdf', 'example.pdf').

Consulte la documentación curl_file_create y consulte las notas para PHP < 5.5.

o use la api https://documentation.mailgun.com/en/latest/api-sending.html#examples

una vez que se configuran los dominios y los parámetros, puede usar $result = $mgClient->messages()->send ($domain, $params);

Esto funcionó para mí.

 $mailfromname .'<'.$mailfrom.'>',
'to'=>$toname.'<'.$to.'>',
'subject'=>$subject,
'html'=>$html,
'text'=>$text,
'o:tracking'=>'yes',
'o:tracking-clicks'=>'yes',
'o:tracking-opens'=>'yes',
'o:tag'=>$tag,
'h:Reply-To'=>$replyto,
 'attachment[0]' =>  curl_file_create(__dir__."\".$path, 'application/pdf', $path),
 'attachment[1]' =>  curl_file_create(__dir__."\".$path, 'application/pdf', "example.pdf")
);
$session = curl_init(MAILGUN_URL.'/messages');
curl_setopt($session, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($session, CURLOPT_USERPWD, 'api:'.MAILGUN_KEY);
curl_setopt($session, CURLOPT_POST, true);
curl_setopt($session, CURLOPT_POSTFIELDS, $array_data);
curl_setopt($session, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_ENCODING, 'UTF-8');
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($session);
curl_close($session);
$results = json_decode($response, true);
return $results;


  //: call the function
  $res = sendmailbymailgun("[email protected]","Recipeint Name", "Sender Name", "[email protected]","Email subject","Email body. find two attachment","","tags", "[email protected]", $path);
  echo "
".print_r($res, true)."

";

?>

No se te olvide difundir este enunciado si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *