Mailgun - Laravel 正在检索附件
Mailgun - Laravel retrieving attachments
所以我试验了几个小时。如果您使用 laravel,如何从 mailgun 下载电子邮件中的附件?
这不是最优雅的方式,但它确实有效。我找不到这样的东西。所以如果你想下载mailgun邮箱的附件。
从收到的电子邮件中获取数据
$request->input('sender')
获取元数据 JSON,我重复 JSON 附件
$request->input('attachments')
附件元数据示例
'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
}
]',
从电子邮件中获取文件
第 1 步。json首先解码附件
$files = json_decode($request->input('attachments'),true);
第 2 步。使用 composer 安装 mailgun API。 (https://github.com/mailgun/mailgun-php)
第 3 步。创建一个新的 mailgun 实例并使用您的 API 密钥,而不是密码。
$mg = new Mailgun('key-xxxxxxxxxxxxxxxxx');
foreach ($files as $file){
$fileName = $file['name'];
$content = $mg->getAttachment($file['url'])->http_response_body;
}
就是这样,您现在可以下载 $content ,放入您的云存储中,等等。
所以我试验了几个小时。如果您使用 laravel,如何从 mailgun 下载电子邮件中的附件?
这不是最优雅的方式,但它确实有效。我找不到这样的东西。所以如果你想下载mailgun邮箱的附件。
从收到的电子邮件中获取数据
$request->input('sender')
获取元数据 JSON,我重复 JSON 附件
$request->input('attachments')
附件元数据示例
'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
}
]',
从电子邮件中获取文件
第 1 步。json首先解码附件
$files = json_decode($request->input('attachments'),true);
第 2 步。使用 composer 安装 mailgun API。 (https://github.com/mailgun/mailgun-php)
第 3 步。创建一个新的 mailgun 实例并使用您的 API 密钥,而不是密码。
$mg = new Mailgun('key-xxxxxxxxxxxxxxxxx');
foreach ($files as $file){
$fileName = $file['name'];
$content = $mg->getAttachment($file['url'])->http_response_body;
}
就是这样,您现在可以下载 $content ,放入您的云存储中,等等。