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 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊