微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 php 中使用 IMAP 显示 Gmail 电子邮件中的所有附件文件

如何解决如何在 php 中使用 IMAP 显示 Gmail 电子邮件中的所有附件文件

我正在尝试构建一个小型网络邮件应用程序。使用这个脚本我必须通过 composer https://github.com/benhall14/php-imap-reader

下载

当我阅读收件箱中的所有电子邮件时,我想显示多个文件,例如图像或 pdf 或其他文件,但问题是当我尝试 echo $attachment->filePath() 时,它只显示一个文件

例如,我的电子邮件附有两张图片,但功能通过该电子邮件向我显示单个图片

但是,该电子邮件附加了多个文件,并且还指导我如何仅使用此脚本获取文件扩展名。

代码

require 'vendor/autoload.PHP';

use benhall14\PHPImapReader\Email;
use benhall14\PHPImapReader\EmailAttachment;
use benhall14\PHPImapReader\Reader;

define('IMAP_USERNAME','');
define('IMAP_PASSWORD','');
define('IMAP_MAILBox','');
define('ATTACHMENT_PATH',__DIR__ . '/attachments/');

try {
    $imap = new Reader(IMAP_MAILBox,IMAP_USERNAME,IMAP_PASSWORD,ATTACHMENT_PATH);
    
    $imap->limit(10)->get();

    foreach ($imap->emails() as $email) {
        echo '<div>';
            
        echo '<div>' . $email->fromEmail() . '</div>';
            
        echo '<div>' . $email->subject() . '</div>';
            
        echo '<div>' . $email->date('Y-m-d H:i:s') . '</div>';

        if ($email->hasAttachments()) {
            foreach ($email->attachments() as $attachment) {
                echo '<div>' . $attachment->filePath() . '</div>';
            }
        }
        
        #print_r($email->plain());
        #print_r($email->html());

        echo '</div><br/><br/><hr />';
    }
} catch (Exception $e) {
    die($e->getMessage());
}

截图

enter image description here

在电子邮件中我附加了两张图片,但功能显示的是单个图片路径?

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。