2017-09-20 5 views
0

J'essaie d'envoyer un e-mail avec une pièce jointe PDF, mais le fichier PDF ne peut pas être ouvert. (Comment puis-je charger un fichier PDF à partir du système de fichiers et inclure dans un e-mail envoyé à partir d'une application expresse?)Comment joindre un PDF à un e-mail envoyé depuis une application express

C'est ce que j'ai maintenant: je charge le PDF de la filesystm comme ceci: var pdfAttach = fs.readFileSync('./pdfs/test.pdf', 'binary'); et inclure dans l'objet qui est envoyé à Mandrill comme ceci:

{ 
... 
attachments: 
    [{content: pdfAttach, 
    name: "testing.pdf", 
    type: "application/pdf" 
    }], 
... 
} 

le destinataire reçoit un courriel avec un fichier PDF qu'il ne peut pas ouvrir. Des idées sur la façon de résoudre cela?

Répondre

1

Si vous jetez un œil à l'API Messages here de Mandrill, vous verrez que le contenu de la pièce jointe doit être une chaîne encodée en base64. donc le code serait:

var pdfAttach = fs.readFileSync('./pdfs/test.pdf'); 
... 
attachments: 
    [{content: pdfAttach.toString('base64'), 
    name: "testing.pdf", 
    type: "application/pdf" 
}], 
... 

Espérons que cela aide.

+0

Je ne peux pas croire que j'ai raté ça. Merci – allegutta

+0

De rien! :) – cassini