2013-09-28 23 views
5

Próbuję wysłać wiadomość e-mail z załącznikiem PDF za pomocą klasy phpmailer.Załącznik PHPmailer i pdf

Użyłem tego kodu:

ciągu mailTo funkcję:

$mail->AddAttachment($pdffile); 

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

Przesyłanie wyników mail w wiadomości e-mail bez przywiązania, ale z:

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

na na górze mojego e-maila i na th e dno mojego maila:

--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 

i tak dalej ...

Jak rozwiązać ten problem?

Odpowiedz

1

można użyć jeszcze trzech parametrów, z których wszystkie są opcjonalne: AddAttachment ($ ścieżka, $ nazwa, $ kodowanie, typ $);

również śledzić tę odpowiedź: Send File Attachment from Form Using phpMailer and PHP

Istnieje dodatkowy sposób, aby dodać załącznik. Jeśli chcesz utworzyć wiadomość e-mail w formacie HTML ze zdjęciami dołączonymi do biurka, konieczne jest dołączenie obrazu, a następnie powiązanie z nim znacznika. Na przykład, jeśli dodasz obraz jako wstawiany załącznik z moim zdjęciem CID, uzyskasz do niego dostęp w wiadomości e-mail w formacie HTML za pomocą & ltimg src = "cid: moje-zdjęcie" alt = "moje-zdjęcie" />.

W szczegółach, tutaj jest funkcja dodać załącznik inline:

$ mail-> AddEmbeddedImage (filename, cid, nazwa); Używając tej funkcji z powyższą wartością tego przykładu, otrzymasz następujący kod: $ mail-> AddEmbeddedImage ("my-photo.jpg", "my-photo", "my-photo.jpg");

+1

Dziękuję, ale staram się dołączyć? PDF. Wiem o parametrach $ name, $ encoding, $ type, ale jak mi w tym przypadku pomogą? – FredV

9

spróbować, to działa na mnie ...

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

W twoim przypadku

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