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