ehaerer / php-fetch-mail
PHP 库,用于从 SMTP 邮箱中提取电子邮件并将其存储以及附件。
Requires
- php: ^7.4 || ^8.0
- ext-iconv: *
- ext-imap: *
- ext-json: *
- ext-mbstring: *
- ext-simplexml: *
README
PHP 库,用于从 SMTP 邮箱中提取电子邮件并将其存储以及附件。它基于 https://github.com/kirilkirkov/PHP-IMAP-Messages-Fetcher,并扩展了通过命令行使用的选项。
此脚本允许通过 PHP IMAP 函数从邮箱中提取电子邮件。它读取邮件并将它们写入 .eml 文件,如果有附件,也会写入附件。
运行此项目需要以下 PHP 扩展
- ext-json
- ext-simplexml
- ext-imap
- ext-mbstring
- ext-iconv
建议使用包管理器 Composer 进行安装。
使用 composer require ehaerer/php-fetch-mail 安装。
1 特性
- 通过命令行使用
- 通过 web 服务器使用
2 使用方法
2.1 最小配置
创建配置文件
将 /login 目录中的 config.sample.php 文件复制到 /login/config.php,并添加您的邮箱凭证。
2.2 执行
通过命令行执行
在 Windows 上,您可以使用 PHP .exe 构建文件通过命令行执行脚本
C:\mypath-to-php\php-7.4.15\php.exe -e -c C:\mypath-to-php\php-7.4.15\php.ini C:\mypath-to-fetch-mail\fetch-mail\public\index.php --inputDir "C:\mypath-to-input-dir\fetch-mail\public\input\" --credentials 0 --allowedFileExt pdf --saveToFile 1
命令行可能的参数
--inputDir "C:\mypath-to-input-dir\fetch-mail\public\input\"
写入 .eml 文件和附件的输入目录的完整路径。
--limit 10
从邮箱中读取的文件数量限制。默认值为 100。
--credentials key
从 config.php 文件中读取凭证的键。可以在其中定义多个凭证。
--allowedFileExt pdf,csv,txt
允许的文件类型的文件扩展名。
--saveToFile 0
是否将电子邮件保存到 eml 文件,可以是 0 或 1;默认值为 1。
--delete 0
在从服务器读取电子邮件后是否删除电子邮件,可以是 0 或 1;默认值为 0。
--mailTargetFolder "INBOX/Processed"
在从服务器读取电子邮件后将其移动到服务器上的此目标文件夹,例如“INBOX/Processed”。
--attachmentsRequired 1
如果设置,则仅处理定义在 allowedFileExt 中的附件的电子邮件;可以是 0 或 1;默认值为 0。
通过 web 服务器执行,例如 ddev
使用本地开发环境,如 ddev local 使用本地 web 服务器。
将您的 web 服务器指向公共文件夹(ddev 配置仍在项目中)。
运行本地 URL https://php-fetch-mail.ddev.site/index.php,例如使用 ddev。