PHPプログラムに関する各種メモ書き

PHPで受信したHTMLメールやマルチパートメールを解析する

PHPで受信したHTMLメールを解析するには php-mime-mail-parser を使用すると便利です https://packagist.org/packages/php-mime-mail-parser/php-mime-mail-parser

● 1. php-mime-mail-parser をインストール

a. composer.json からインストール

composer.json を以下のようにセット

{
    "require": {
        "php-mime-mail-parser/php-mime-mail-parser": "^2.4"
    }
}

b. composerコマンドからインストール

composer  require php-mime-mail-parser/php-mime-mail-parser

● 2. php-mime-mail-parser で受信したHTMLメールを解析する

require_once __DIR__ . '/../vendor/autoload.php';
$Parser = new PhpMimeMailParser\Parser();
$mail_src = file_get_contents('mail.txt');
$Parser->setText($mail_src);
$to            = $Parser->getHeader('to'); // "test" <test@example.com>, "test2" <test2@example.com>
$addressesTo   = $Parser->getAddresses('to'); //Return an array : [[test, test@example.com, false],[test2, test2@example.com, false]]
$from          = $Parser->getHeader('from'); // "test" <test@example.com>
$addressesFrom = $Parser->getAddresses('from'); //Return an array : test, test@example.com, false
$subject       = $Parser->getHeader('subject');
$text          = $Parser->getMessageBody('text');
$html          = $Parser->getMessageBody('html');
print_r($html);

関連エントリー

No.1048
08/01 13:41

edit

メール