[PHP] phpmailer, attachment niet in elke browser te openen

Pagina: 1
Acties:

  • Laura A
  • Registratie: September 2015
  • Laatst online: 26-01-2022
Ik maak gebruik van phpmailer voor het versturen van facturen in PDF-formaat.
Als ik de verzonden mail in outlook open gaat alles goed. Open ik dezelfde mail in een andere outlook dan is de extensie of veranderd of verdwenen.
Het blijkt dat de PDF wel goed wordt aangemaakt. De verzending wordt gedaan via Mandrill.
Ik heb al van alles geprobeerd, maar kom er echt niet uit.
Ook met de documentatie van phpmailer kom ik niet verder.
Volgens mij gaat het fout in de regel: $mail->AddAttachment($att, $attname, 'base64', 'application/pdf');


hierbij de gebruikte code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = 0;
$mail->Debugoutput = 'html';
$mail->Host = $host;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Username = $userName;
$mail->Password = $password;
$mail->AddAddress($to_address);
$mail->Subject = $subject;
$mail->Body = $message;
$mail->IsHTML(true);        
$mail->Port = 465;
$mail->setFrom($from, $from_name);
if ($att != '') {
    $mail->AddAttachment($att, $attname, 'base64', 'application/pdf');
}
if ($cc != '') {
    foreach(explode(';',$cc) as $email) {
        $email = trim($email);
        if ($email != '') {
            $mail->AddCC($email);
        }   
    }
}   
if ($bcc != '') {
    foreach(explode(';',$bcc) as $email) {
        $email = trim($email);
        if ($email != '') {
            $mail->AddBCC($email);
        }   
    }   
}   

$mail->Send();

[ Voor 0% gewijzigd door RobIII op 23-09-2015 18:11 . Reden: Code tags toegevoegd ]


  • azerty
  • Registratie: Maart 2009
  • Laatst online: 11:24
Zonder verder te kijken, je code in
code:
1
[code][/code]
tags zetten zou al iets leesbaarder zijn ;)

Heb je al extra debugging geactiveerd om te kijken of er tijdens het verzenden niks misloopt?

Edit: je functie aanroep lijkt in elk geval overeen te komen met de parameters die op de GitHub te vinden zijn... Klopt de naam van de attachment (zoals hieronder vermeld) wel?

[ Voor 42% gewijzigd door azerty op 23-09-2015 15:51 ]


  • Rotje333
  • Registratie: Maart 2010
  • Laatst online: 11-10 17:18
Simpel maar bevat $attname de extensie van je bestand?

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

En indend je code ook even, want hier is geen touw aan vast te knopen. Daarnaast; in checks of iets gelijk is aan '' kan ook versimpeld; met functies als isset() of empty. In theorie kan je het ook weglaten met if($var) bijvoorbeeld, maar dat levert notices op als de variabele leeg is of niet bestaat.

[ Voor 47% gewijzigd door CH4OS op 23-09-2015 15:58 ]


  • Laura A
  • Registratie: September 2015
  • Laatst online: 26-01-2022
De $attname bevat gewoon de tekst 'factuur.pdf'.
In 95% van alle verzonden facturen gaat het goed, alleen bij een aantal geadresseerde treed een verminking op. De facturen worden allemaal een script aangemaakt. Hier kan het niet aan liggen.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Heb zelf eens iets aan de hand gehad met PHPMailer; misschien (maar misschien ook niet) dat dit je verder helpt?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Laura A
  • Registratie: September 2015
  • Laatst online: 26-01-2022
Ik ga er mee aan het werk. De uitkomst laat ik nog weten.

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
gaat het wel goed als je met bijv. Outlook een mail stuurt en opent in de betreffende browser? als het dan wel goed gaat kun je de broncode van de mails vergelijken om er wellicht achter te komen waar het verschil hem nou precies in zit.

  • Bartoz
  • Registratie: November 2000
  • Niet online
Mocht je er niet uitkomen, dan zou je over kunnen stappen naar Swiftmailer. Deze wordt o.a. door Symfony gebruikt en heb ik goede ervaringen mee.

  • Laura A
  • Registratie: September 2015
  • Laatst online: 26-01-2022
Net getest, werkt al een stuk beter.
Ga in de loop van de dagen ook kijken naar Swiftmailer.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Laura A schreef op donderdag 24 september 2015 @ 12:45:
Net getest, werkt al een stuk beter.
Kun je iets precieser zijn? Wat heb je getest en wat is "stuk beter"? Ben nu wel benieuwd.

[ Voor 4% gewijzigd door RobIII op 24-09-2015 13:51 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • mbarie
  • Registratie: Mei 2011
  • Laatst online: 04-08-2021
Ik had enkele jaren terug vergelijkbare ervaringen met PHPMailer. Op Apple Mail waren attachments niet zichtbaar en >60% van de geadresseerden werkten daarmee. Ik heb toen handmatig wijzigingen moeten maken in de class om dit probleem in orde te krijgen.

Overigens, als verzend via Mandrill zou ik je met klem aanraden hun API te gebruiken. Dan is het zenden van emails pas echt koek en ei. Dat zou je echt een hoop kopzorgen moeten schelen.
https://packagist.org/packages/mandrill/mandrill
https://mandrillapp.com/docs/integrations.html

[ Voor 4% gewijzigd door mbarie op 28-09-2015 10:20 ]

Storyteller @ soundcloud

Pagina: 1