Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中使用IMAP显示Gmail电子邮件中的所有附件文件_Php_Email_Gmail_Imap - Fatal编程技术网

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

如何在php中使用IMAP显示Gmail电子邮件中的所有附件文件,php,email,gmail,imap,Php,Email,Gmail,Imap,我正在尝试构建一个小的webmail应用程序。使用这个脚本,我必须通过composer下载 当我阅读收件箱中的所有电子邮件时,我想显示多个文件,如图像、pdf或其他文件,但问题是当我尝试echo$attachment->filePath()时,它只显示一个文件 例如,我有一封附加了两张图片的电子邮件,但通过该电子邮件向我显示一张图片的功能 但是,该电子邮件附带了多个文件,并指导我如何仅使用此脚本获取文件扩展名 源代码 require 'vendor/autoload.php'; use ben

我正在尝试构建一个小的webmail应用程序。使用这个脚本,我必须通过composer下载

当我阅读收件箱中的所有电子邮件时,我想显示多个文件,如图像、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());
}
需要“vendor/autoload.php”;
使用benhall14\phpImapReader\Email;
使用benhall14\phpImapReader\email附件;
使用benhall14\phpImapReader\Reader;
定义('IMAP_用户名','');
定义('IMAP_密码','');
定义('IMAP_邮箱','');
定义('ATTACHMENT_PATH'、_DIR__.'/attachments/');
试一试{
$imap=新读卡器(imap_邮箱、imap_用户名、imap_密码、附件_路径);
$imap->limit(10)->get();
foreach($imap->email()作为$email){
回声';
回显“”。$email->fromEmail()。';
回显“.$email->subject()”;
回显“.$email->date('Y-m-dh:i:s');
如果($email->hasAttachments()){
foreach($email->attachments()作为$attachment){
回显“”。$attachment->filePath();
}
}
#打印($email->plain());
#打印($email->html());
回音“


”; } }捕获(例外$e){ 死亡($e->getMessage()); }
屏幕截图

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