2013-09-28 12 views
5

Sto provando a inviare un'e-mail con un allegato PDF utilizzando la classe phpmailer.PHPmailer e allegato pdf

Ho usato questo codice:

Entro mailTo funzione:

$mail->AddAttachment($pdffile); 

dove $pdffile = $_SERVER['DOCUMENT_ROOT'] . "/facturen/test.pdf"

Inviare i risultati della posta elettronica in una e-mail senza attaccamento, ma con:

--b1_3768f40f33d9a5dec555d03a15af14f9 
Content-Type: text/html; charset = "iso-8859-1" 
Content-Transfer-Encoding: 8bit 

a la parte superiore della mia email e su th e inferiore della mia e-mail:

--b1_3768f40f33d9a5dec555d03a15af14f9 
Content-Type: application/octet-stream; name="test.pdf" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="test.pdf" 

JVBERi0xLjQKJcfsj6IKMTEgMCBvYmoKPDwvTGVuZ3RoIDEyIDAgUi9GaWx0ZXIgL0ZsYXRlRGVj 
b2RlPj4Kc3RyZWFtCnic7VtZs9zEFa5A2CYpQyALSUiiNyQqI3pfeGOrOECgMJc8BPJg38Xbta8x 
NqbyL/Jn85yvF6mPpNbMXMoPVCrlskvT6j59+izfWdT+pmG9UA0Lf4aH43ubt69x2dz8dsOb8Ofh 
zY2zrGfeNU7yXmvf3Ns4wXrDxDhiHes50431vGdGlt8K741pjjfDiMEMbZuBgNHhp2qGLYbfxxvP 
fa+9Gke8CTOG9flXoT8MZAaG1QOD8yMcb87e2sieCwXST3DUj/D3Tj7ytb/8bx751uaLzTcNV1r3 
0kVtcy5Vr3ijmeqNwFzfc+51tgLVfHCx+XwT7SMIRbMgsUAZkzkPlFygBCq2V83D00jfOZAUJtE3 
eHamwSoBJhvJlOidzfR1or97iXAWm/i8xBy0xHLZDytsfYXoPV2hNes9z0tcWgKxKq5NMA8RVJCn 
QVzO6UjKaJxb6XTyJCa4yzcb1XNjjI 

e così via ...

come risolvere questo?

risposta

1

è possibile utilizzare altri tre parametri, tutti opzionali: AddAttachment (percorso $, $ nome, $ codifica, $ tipo);

seguire anche questa risposta: Send File Attachment from Form Using phpMailer and PHP

C'è un modo in più per aggiungere un allegato. Se si desidera creare una e-mail HTML con immagini incorporate nella scrivania, è necessario allegare l'immagine e quindi collegare il tag ad essa. Ad esempio, se aggiungi un'immagine come allegato inline con la mia foto CID, accederai alla e-mail HTML con & ltimg src = "cid: my-photo" alt = "my-photo" />.

In dettaglio, ecco la funzione per aggiungere un allegato in linea:

$ mail-> AddEmbeddedImage (nome del file, cid, nome); Utilizzando questa funzione con il valore di questo esempio sopra, si ottiene questo codice: $ mail-> AddEmbeddedImage ('my-photo.jpg', 'my-photo', 'my-photo.jpg');

+1

Grazie, ma sto cercando di collegare un PDF. Conosco i $ name, $ encoding, $ type parameters, ma come mi aiutano in questo caso? – FredV

0

Prova questa soluzione: Add attachment through PHPMailer Sembra totalmente indipendente, ma mi ha aiutato anche. Ci deve essere un problema con l'impostazione del corpo e-mail

9

Prova questa, il lavoro per me ...

$mail->AddAttachment('path_to_pdf', $name = 'Name_for_pdf', $encoding = 'base64', $type = 'application/pdf'); 

Nel tuo caso

$mail->AddAttachment($_SERVER['DOCUMENT_ROOT'].'/facturen/test.pdf', $name = 'test', $encoding = 'base64', $type = 'application/pdf');