php - 如何在 php 中使用 IMAP 显示 Gmail 电子邮件中的所有附件文件
问题描述
我正在尝试构建一个小型网络邮件应用程序。使用这个脚本我必须通过作曲家下载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());
}
截图
在电子邮件中,我附加了两张图片,但功能显示单个图片路径?
解决方案
推荐阅读
- angular - ngFor 列表不打印空值
- sql - 获取每个月的第一个日期 SQL Server 2008 R2
- ios - 无法在 Swift 中将远程照片保存到相机胶卷
- jquery - 使用 ajax 和 json 填充选择有时会失败
- synthesis - 综合工具中的“为实例 tp.zf 定义的用户指定的初始值被忽略”是什么意思?
- java - Eclipse 中的 Swing 无法访问类 sun.java2d.loops
- apache-kafka - Kafka Streams 内部数据管理
- android - 如何让 SeekBar 在不同位置改变颜色?
- amazon-web-services - terraform 中的 Redis 支持
- c++ - c++ - 如何在库项目中添加头文件和 cpp 文件