duanpang1987 2012-09-04 14:58
浏览 58
已采纳

Zend Mail - 从GMAIL获取IMAP附件

I habe some trouble with Zend Framework and fetching Attachements from GMAIL. Authentication is handeld by oAuth.

It is no problem to fetch the Mailtext, but i cant fetch the attachement, or better i have no idea how to do it (;

        if ($message->isMultiPart()) {

            $iParts = $message->countParts();

            for ($i = 1; $i < $iParts; $i++) {
                $part = $message->getPart($i);

                // ATTACHEMENT?
                if () {
                    // DO MAIL DOWNLOAD
                }

                // MAIL TEXT
                if (strtok($part->contentType, ';') == 'text/plain') {
                    $encoding = $part->getHeader('content-transfer-encoding');
                    $contentType = $part->getHeader('content-type');
                    $content = $part->getContent();
                    break;
                } 
            }

Header from my mail (removed some details):

[delivered-to] => xxxx@gmail.com
[received] => Array
    (
        [0] => 
        [1] => 
        [2] => 
        [3] => 
    )
[return-path] => 
[received-spf] => 
[authentication-results] => 
[dkim-signature] =>
[mime-version] => 1.0
[from] => 
[date] => Thu, 30 Aug 2012 17:16:37 +0200
[message-id] => 
[subject] => ANHANG
[to] => 
[content-type] => multipart/mixed; boundary=f46d043bd88a9f5d9404c87d2ad5
  • 写回答

1条回答 默认 最新

  • dongpu5874 2012-09-04 16:21
    关注

    I haven't tried it but, if it works, you owe me a beer... Anyways, Try this: Logically it should work...

    if ($message->isMultiPart()) {
         $part = $message->getPart(2);
    }
    
           // Remember mails with attachment are MULTI-part? (:
           $filename = $part->getHeader('content-description');
           $attachment = base64_decode($part->getContent()); //we decode because mails are encoded with base 64
    
           // File operations
           $fh = fopen($filename, 'w');
           fwrite($fh, $attachment);
           fclose($fh);
    

    If u get error, post it here

    or if it works, gimme a tick ;)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多