【问题标题】:Mailgun - Laravel retrieving attachmentsMailgun - Laravel 检索附件
【发布时间】:2017-05-07 03:46:06
【问题描述】:

所以我试验了几个小时。如果您使用的是 laravel,如何从 mailgun 下载电子邮件中的附件?

【问题讨论】:

    标签: laravel attachment mailgun


    【解决方案1】:

    这不是最优雅的方式,但它确实有效。我找不到这样的东西。所以如果你想下载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
                            }
                        ]',
    

    从电子邮件中获取文件

    STEP 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 ,放入您的云存储中。

    【讨论】:

      猜你喜欢
      • 2014-08-27
      • 2023-03-21
      • 1970-01-01
      • 2020-04-03
      • 2015-12-19
      • 2016-06-12
      • 2021-06-02
      • 1970-01-01
      • 2012-12-23
      相关资源
      最近更新 更多