📜  php getgmail 名称 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:11.560000             🧑  作者: Mango

PHP GetGmail - 通过 PHP 获取 Gmail 邮件

PHP GetGmail 是一个 PHP 库,它提供了一种通过 PHP 代码获取 Gmail 邮件的简便方法,并且可以轻松地将邮件下载到您的 PHP 应用程序中进行处理。

特性
  • 快速、简单地创建通过 PHP 获取 Gmail 邮件的代码
  • 使用 Google OAuth 2.0 进行身份验证
  • 可以选择从 Gmail 中获取的邮件数量
  • 可以方便地从 Gmail 邮件中检索正文、附件等信息
  • 支持下载邮件附件
  • 支持配置代理服务器
安装

通过 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)来访问代理服务器。

说明
  • 本库使用预发布版的 Gmail API v1。
  • 另外,最好确保您的 Gmail 账户配置中开启了 IMAP 访问功能。
  • 在进行此操作之前,请确保您已收到 Google API 的授权文件,该文件应该包含您的 Gmail API 密钥。