Посылать с phpMailer как attachment созданный $pdf?

Я выражаю ясно проблему: Мой архив .php делает две вещи: 1) Поверьте pdf (проверенный уже, что хранится в изменчивая $pdf) и 2) Посылает e-mail используя phpMailer.

Проблема?: Архив $pdf я не могу посылать это с $mail->AddAttachment, так как у $pdf не был Ваш encode. Для чего я сделал следующее:

$pdfdoc = $pdf->Output("", "S");
$pdflisto = chunk_split(base64_encode($pdfdoc));

После того, как имел "предполагаемый" $pdflisto Вы попробовали это послать из-за:

$mail->AddAttachment($pdflisto, "Cliente.pdf");

Но, несмотря на то, что прибывает e-mail, не прибывает attachment.

Что Вы нуждались в том, чтобы узнать, или в чем нуждалась помощь?

Какую ошибку я совершаю, хорошо состойте в encode или addAttachment, в том, что посредством phpMailer Вы не прибываете с вложенным файлом?

1
задан 06.06.2016, 22:06
3 ответа

Решение проблемы: использовать $mail->addStringAttachment($pdfdoc, 'Cliente.pdf'); где String, он не нуждается chunk_split. Только, что был String.

Я препятствовал линии два

             $pdfdoc = $pdf->Output("", "S"); 
             pdflisto = chunk_split(base64_encode($pdfdoc));

И то, что послано, одинокое $pdfdoc с $mail->addStringAttachment. Я надеюсь, что он также служит для тех, кто используют phpMailer.

3
ответ дан 24.11.2019, 14:14

со мной случается, что podrГ-схвати, сохранять файл временно, так как мы нуждаемся в Вашем маршруте, чтобы это включать как добавление в электронную почту.

оставил ее Тебе funciГіn правильная для этого случая, который ты выдвигаешь:

   $mail->AddAttachment('carpeta_del_fichero_pdf', $name = 'NombreDelFichero',  $encoding = 'base64', $type = 'application/pdf');
0
ответ дан 24.11.2019, 14:14

Используй эту funciГіn:

function enviar_correo($destinatarios, $mail_asunto, $mail_contendio, $from, $from_name, $archivos_adjuntos_ruta,$archivos_adjuntos_temp){
$mail= new PHPMailer(); // defaults to using php "mail()"
$mail->CharSet = 'UTF-8';
$body= $mail_contendio;
$mail->IsSMTP(); // telling the protocol to use SMTP
$mail->Host = "tu.host.com"; // SMTP server
$mail->From = $from;
$mail->FromName = $from_name;
$mail->Subject = $mail_asunto;
$mail->MsgHTML($body);
$destinatarios=explode(",", $destinatarios);
if(!empty($destinatarios)){
foreach($destinatarios as $un_destinatario){
$mail->AddAddress($un_destinatario); //destinatarios
}
}else{
return false;
}
if(!empty($archivos_adjuntos_ruta)){
foreach($archivos_adjuntos_ruta as $archivo){
$mail->AddAttachment($archivo); // attachment
}
}
if(!empty($archivos_adjuntos_temp)){
foreach($archivos_adjuntos_temp as $nombrearchivo=>$contenidoArchivo){
$mail->AddStringAttachment($contenidoArchivo,$nombrearch ivo,'base64');
}
}
$mail->Timeout = 20;
if($mail->Send()) {
return array(true);
}else {
return array(false,"Mailer Error: ".$mail->ErrorInfo);
}
}
$archivos_adjuntos_ruta=array($path1,path2);
$archivos_adjuntos_temp=array(utf8_decode($strfile PDF)=>$strContenidoPdf,utf8_decode($strNomArch)=>$ strContenidoXml);
enviar_correo(...,array(),archivos_adjuntos_temp);//los archivos estan en variables temporales
enviar_correo(...,$archivos_adjuntos_ruta,array()) ;//los archivos estan en rutas en disco
enviar_correo(...,$archivos_adjuntos_ruta,archivos _adjuntos_temp);//ambas opciones al mismo tiempo
0
ответ дан 24.11.2019, 14:14
  • 1
    Привет @abrahamhs. Пожалуйста предложи значимый контент c и # 243; я говорю, чтобы использовать и explicaci и # 243; n того же самого. S и # 233; что ты предложил тот же ответ aqu и # 237; , и хотя он будет содержаться созданный из-за t и # 237; у него нет много использования, если s и # 243; ты это копируешь и прикрепляешь контент случайного способа, не предлагая никакого explicaci и # 243; n. –  06.06.2016, 22:07

Теги

Похожие вопросы