【问题标题】:Gmail API Import - Error 413 Request Entity Too LargeGmail API 导入 - 错误 413 请求实体太大
【发布时间】:2016-11-24 05:44:19
【问题描述】:

我正在使用 Google API PHP 客户端。我正在编写一个程序,它将批量消息从一个帐户导入另一个帐户。要导入,我使用以下行:

$service->users_messages->import('me', $message, $options);

..其中 $message 是来自$service->users_messages->get() 的原始消息。

首先,程序从一个帐户获取消息列表。用户选择他想要导入的消息,然后单击导入按钮。导入循环选定的邮件并且工作正常,但有些邮件包含大附件。这些消息将失败并返回 错误 413 - 请求实体太大。

我已阅读我需要指出上传类型应为多部分。 我正在使用 Google API PHP 客户端,但没有看到任何添加此上传类型的方法、类或选项。

任何建议都会有所帮助。谢谢。

【问题讨论】:

    标签: php codeigniter gmail-api google-api-php-client


    【解决方案1】:

    尝试将变量 $message 设置为此 mail with attachment 代码 sn-p。

    $strRawMessage .= "\r\n--{$boundary}\r\n";
    $strRawMessage .= 'Content-Type: '. $mimeType .'; name="'. $fileName .'";' . "\r\n"; 
    $strRawMessage .= 'Content-ID: <' . $strSesFromEmail . '>' . "\r\n"; 
    $strRawMessage .= 'Content-Description: ' . $fileName . ';' . "\r\n";
    $strRawMessage .= 'Content-Disposition: attachment; filename="' . $fileName . '"; size=' . filesize($filePath). ';' . "\r\n";
    $strRawMessage .= 'Content-Transfer-Encoding: base64' . "\r\n\r\n";
    $strRawMessage .= chunk_split(base64_encode(file_get_contents($filePath)), 76, "\n") . "\r\n";
    $strRawMessage .= '--' . $boundary . "\r\n";
    
    $strRawMessage .= "\r\n--{$boundary}\r\n";
    $strRawMessage .= 'Content-Type: text/plain; charset=' . $charset . "\r\n";
    $strRawMessage .= 'Content-Transfer-Encoding: 7bit' . "\r\n\r\n";
    $strRawMessage .= $strMailTextVersion . "\r\n";
    
    $strRawMessage .= "--{$boundary}\r\n";
    $strRawMessage .= 'Content-Type: text/html; charset=' . $charset . "\r\n";
    $strRawMessage .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
    $strRawMessage .= $strMailContent . "\r\n";
    // The message needs to be encoded in Base64URL
    $mime = rtrim(strtr(base64_encode($strRawMessage), '+/', '-_'), '=');
    $msg = new Google_Service_Gmail_Message();
    $msg->setRaw($mime);
    

    还可以查看此curl implementation 或此ajax implementation

    【讨论】:

    • 谢谢,但还是没用。我的邮件格式相同,除了附件大的以外,都导入成功了。
    猜你喜欢
    • 2018-05-20
    • 2016-02-01
    • 1970-01-01
    • 2020-05-04
    • 2016-07-16
    • 2017-03-05
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多