ukkz / mailparser
An independent parser library for internet message format.
1.0.0
2018-10-20 21:55 UTC
Requires
- php: >=7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.10
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2025-04-25 08:39:48 UTC
README
This is an independent PHP library for parsing internet message format (RFC5322).
About
This library parses multi-parted mail format (internet message format RFC5322).
PHPでメールフォーマット(RFC5322)をパースするライブラリです。
有名どころのライブラリあるけどなんかよくわからんが全然インストールできなかったので再発明したものの供養です。よって依存関係はありません。
RFCは流し読みなので全部はテストしてません。
マルチパートに対応しています。
Requirements
- PHP: >= 7.0
Install
composer require ukkz/mailparser
Usage
- add below to
/etc/aliases
test_local_user: "| /usr/bin/php -f /tmp/example.php > /tmp/mailparser.log 2>&1"
特定のユーザ宛にメールを送ればフックで以下のスクリプトが起動するようになってればOKです。
- /tmp/example.php
use MailParser\Mailparser;
// 標準入力より
$entire_message = file_get_contents('php://stdin');
// このクラス
$mailparser = new MailParser($entire_message);
$sender_address = $mailparser->addressFrom();
$target_address = $mailparser->addressTo();
$mail_title = $mailparser->subject();
$text_body = $mailparser->getBody()->readText();
// 好きな形式で出力など
echo "From: $sender_address \n$text_body";
test_local_user@yourhost
宛てに適当にメールを送ります。
うまくいっていれば/tmp/mailparser/log
にそれっぽいのが出力されているはずです。
License
MIT License:
See LICENSE.txt .