📅  最后修改于: 2023-12-03 14:45:11.560000             🧑  作者: Mango
PHP GetGmail 是一个 PHP 库,它提供了一种通过 PHP 代码获取 Gmail 邮件的简便方法,并且可以轻松地将邮件下载到您的 PHP 应用程序中进行处理。
通过 Composer 安装 PHP GetGmail:
composer require dinushchathurya/php-get-gmail
首先,要使用 PHP GetGmail 从 Gmail 中获取邮件,您需要获取 Google API 的授权文件(参见此处)。
然后,您可以使用以下代码从 Gmail 中获取邮件:
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Dinushchathurya\Gmail\Gmail;
$gmail = new Gmail('/path/to/your/credentials.json');
// 获取最新的 10 封邮件
$messages = $gmail->getMessages(10);
foreach ($messages as $message) {
// 获取邮件详情
$details = $gmail->getMessageDetail($message->getId());
echo "主题:" . $details->getSubject() . "\n";
echo "发件人:" . $details->getFrom() . "\n";
echo "正文:" . $details->getBody() . "\n";
// 获取邮件附件并保存到本地文件夹
$attachments = $details->getAttachments();
foreach ($attachments as $attachment) {
file_put_contents('/path/to/save/file/' . $attachment->filename, $attachment->data);
}
}
如上所示,您可以使用 getMessages
方法获取最新的 n 封邮件,并使用 getMessageDetail
方法获取每个邮件的详情,并从邮件中检索所需的信息。如果邮件包含附件,您可以使用 getAttachments
方法获取所有附件的数组,然后将其保存到本地文件夹中以进行进一步处理。
如果您需要使用代理服务器来访问 Gmail,请使用以下代码:
$gmail = new Gmail('/path/to/your/credentials.json', [
'proxy' => 'tcp://localhost:1080',
'request_fulluri' => true
]);
在上面的代码中,您可以将 proxy
替换为您自己的代理服务器地址和端口号。request_fulluri
设置为 true,是为了确保使用完整的 URI(包括协议,如 HTTPS)来访问代理服务器。