【導入実績300社以上】AWS 構築・運用保守サービス

【導入実績300社以上】AWS 構築・運用保守サービス

【サーバー管理不要】WordPress専用クラウド『WebSpeed』

【サーバー管理不要】WordPress専用クラウド『WebSpeed』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【CPU】AMD EPYC 技術検証(PoC)サービス

【CPU】AMD EPYC 技術検証(PoC)サービス

【Webシステム / サービス開発】SAKARAKU Lab(セカラクラボ)

【Webシステム / サービス開発】SAKARAKU Lab(セカラクラボ)

【取材記事】サーバー系企業ビヨンドが サーバーサイドエンジニアを募集中

【取材記事】サーバー系企業ビヨンドが サーバーサイドエンジニアを募集中

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

Composerで使える、メール解析って何がある?

こんにちは。
開発チームのワイルド担当、まんだいです。

PHPでメールの解析をする場合、古典的にPEARのMailクラスを利用するのが面倒くさくも手っ取り早い方法だという認識で、メール解析自体が面倒に感じている今日この頃、何かいいものはないかとcomposerからインストールできるメール解析ライブラリを調べてみました。


 

php-mime-mail-parser

一番メジャーなのかどうかは分かりませんが、php-mime-mail-parserはよく使われているライブラリのようです。

これは、PHPのPECLエクステンションとして公開されている、mailparseを利用するライブラリなので、動作は速い部類と思われます。

デメリットとしては、mailparseを追加インストールするため、導入にphp.iniの編集が必要なので再起動が必要になるという点です。

パーサーの機能のみの提供になるので、メール配信なども行う場合は、別途でライブラリなり、独自実装なりで配信部分を考えなければいけません。

githubのドキュメントを見れば、使い方は分かると思いますが、非常に素直な使い方ができていいんじゃないでしょうか。

# composerからインストール
composer require php-mime-mail-parser/php-mime-mail-parser

 

mailparseは、https://pecl.php.net/package/mailparseからダウンロードできます。

 

zetacomponents/mail

メールに関する機能が色々充実しているzetacomponents/mailですが、配信もこちらのライブラリでできるため、メールの実装はこちらのライブラリでだいたい実現できるかと思います。

速度的には、ピュアPHPで実装されているため、先ほどのphp-mime-mail-parserよりは不利かと思われます。

Zeta Componentsのモジュールとして展開されており、長い歴史を持つライブラリのようですが、知りませんでした。

使ってみたところ、php-mime-mail-parserほどの素直さはなく、若干のクセを感じました。
メール解析だけをしたい場合なら、php-mime-mail-parserを使ったほうがいいかなという感じです。

# composerからインストール
composer require zetacomponents/mail

 

pear/mail

PEARのパッケージがcomposerからインストールできるんですね!

イントロの文章を真っ向から否定する感じもしますが、composerを使ってインストールできるので、ブログ的には問題ありません!
むしろ意外でいい。

最近、この手の実装から離れていたので(という言い訳)、知らなかったんですが、そもそもPEARのパッケージは、PEARのコアモジュールを必須としていて、単独でインストールできないので、インストールが面倒(これが本音)だったのですが、composer経由なら、PEARのコアモジュールの最小パッケージも依存関係の絡みでインストールしてくれます。

pear/mailを利用する最大のメリットは、過去の知識がそのまま役に立つのと、枯れているライブラリなので、バグが少ない、ターゲットになるPHPのバージョンが5.2.1以上なので、どこでも動く、といったところでしょうか。
composerからインストールできるなら、やはりこれ一択なのかも知れませんね・・・。

# composerからインストール
composer require pear/mail

 

 

まとめ

個人的には、php-mime-mail-parserを推したいところですが、PECLエクステンションを必須としている辺りが少し導入への敷居が高いと言わざるを得ません。
zetacomponents/mail、pear/mailは追加のエクステンションを必要としないので、導入障壁は圧倒的に低いです。
個人的にはPECLのインストールよりPEARのインストールの方が面倒だと思っているので、composerからインストールできるようになったpear/mailはかなり好印象です。

更に言うと、zetacomponents/mailは使い方が微妙で、どうもモダンな感じがしない、という点では、pear/mailも同じです。

composerは必ずしもPEARを駆逐する存在ではないんだなというのが、印象的でした。

一長一短あるメール解析のライブラリですが、要件に合わせたものを使いたいなと言った感想でした。

 
以上です。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
1,344
facebook twitter はてなブックマーク

この記事をかいた人

About the author

萬代陽一

ソーシャルゲームのウェブ API などの開発がメイン業務ですが、ありがたいことにマーケティングなどいろんな仕事をさせてもらえています。
なおビヨンド内での私の肖像権は CC0 扱いになっています。