donc j'ai expérimenté cela pendant des heures. Si vous utilisez laravel, comment téléchargez-vous les pièces jointes sur l'email de mailgun?Mailgun - Laravel récupération des pièces jointes
0
A
Répondre
0
Ce n'est pas la manière la plus élégante mais cela fonctionne. Je n'ai pas été capable de trouver quelque chose comme ça. donc si vous voulez télécharger les pièces jointes sur e-mail mailgun.
Obtenir les données des e-mails entrants
$request->input('sender')
Obtenir le JSON METADATA, je le répète JSON des pièces jointes
$request->input('attachments')
EXEMPLE MÉTADONNÉES des pièces jointes
'attachments' => '[
{
"url": "https://se.api.mailgun.net/v3/domains/sandboxcXXXXXXXX19a57487.mailgun.org/messages/XXXXXXXXXXXXXXXXXXX=/attachments/0",
"content-type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"name": "Plan API end points XXXX.docx",
"size": 53185
}
]',
Obtenir le fichier de l'email
ÉTAPE 1. JSON décode d'abord les pièces jointes
$files = json_decode($request->input('attachments'),true);
ÉTAPE 2. Installez API mailgun à l'aide compositeur. (https://github.com/mailgun/mailgun-php)
Étape 3. Créez une nouvelle instance de mailgun et utilisez votre clé API, pas le mot de passe.
$mg = new Mailgun('key-xxxxxxxxxxxxxxxxx');
foreach ($files as $file){
$fileName = $file['name'];
$content = $mg->getAttachment($file['url'])->http_response_body;
}
C'EST TOUT, vous pouvez maintenant télécharger le contenu $, mettre dans votre cloudstorage, peu importe.