2017-07-20 4 views
0

Je suppose qu'il y a un problème avec les pièces jointes Mandrill x Hotmail/Outlook.com.La pièce jointe de Mandrill sans extension sur Hotmail/Outlook.com

Je peux envoyer des pièces jointes avec Mandrill en utilisant base64_encode(). J'utilise la bibliothèque PHP.

Si j'envoie un e-mail à Gmail ou à un autre fournisseur, la pièce jointe semble correcte. Téléchargement et ouverture normalement. Mais en envoyant à un Hotmail/Outlook.com, les pièces jointes sont venus sans extension/format de fichier. En téléchargeant, il ne peut être ouvert en ajoutant l'extension manuellement (par exemple, .pdf).

Le code:

$file_data = file_get_contents($_FILES["test_file"]["tmp_name"]) 
$file_type = $_FILES["test_file"]["type"] 

$mandrill = new Mandrill('MANDRILL_API_KEY_HERE'); 
$message = array(
    'html' => $html, 
    'subject' => 'Testing', 
    'from_email' => '[email protected]', 
    'from_name' => 'Sender', 
    'attachments' => array(
    array(
     'name' => 'Test PDF document', 
     'type' => $file_type, 
     'content' => base64_encode($file_data) 
    ) 
), 
    'to' => array(
    array(
     'email' => '[email protected]', 
     'name' => 'John Doe', 
     'type' => 'to' 
    ) 
), 
    'headers' => array('Reply-To' => '[email protected]') 
); 
$result = $mandrill->messages->send($message); 

Toutes les idées? Est-ce un problème de Mandrill ou de Hotmail?

Merci!

Répondre

0

J'ai trouvé la solution. Gmail et d'autres services de messagerie reconnaissent l'attribut type comme ci-dessus, mais Hotmail reconnaît uniquement le type de fichier en ajoutant l'extension au nom de la pièce jointe (attribut name).

Par exemple:

'name' => 'Test PDF document.pdf', 

Il semble évident, mais Hotmail exige. Partager mes connaissances simples, puisque je n'ai reçu aucune réponse.