ちょっと、検索してノウハウを集めるのに時間がかかったので、ここにまとめておきます。
大きくまとめると
1.Xserverで「メールの振り分け」をします。受信メールをPHPのスクリプトに渡すということです。
2.PEARの環境下で、mimeDecode.phpを使い解析する
となります。
1について
メールの振り分けを利用して、自分のPHPスクリプトを起動させます。
Xserverのマニュアル
https://www.xserver.ne.jp/manual/man_mail_sorting.php
処理方法(宛先)で、「その他の宛先」を選択すると、
テキストエリアが開くので、以下のように記入します
「|/usr/bin/php7.4 /home/アカウントID/利用ドメイン/public_html/動かすPHPスクリプト名」
ここでは、php7.4にしていますが、
サーバーパネルの
以上で、1の作業は終わりです。
次に2の作業です。
まずは、mimeDecode.phpを使うためには、PEARが動かなければなりません。
Xserverには、PEARがすでにインストールされています。
(これがわかるまで時間がかかりました)
SSHで調べると、PEARのPATHは
/usr/share/pear
でした。
調べ方、SSHで「pear config-get php_dir」と打って下さい。
パスがでます。
これをphp.iniに以下のように追加します。
[pear]
include_path=”.:/usr/share/pear”
php.iniの編集は、
サーバーパネルのから
赤枠からできます。
こうしてから、mimeDecode.phpをダウンロードして、所定のところにアップロードします
ダウンロードできるサイトは、こちら
https://pear.php.net/package/Mail_mimeDecode/download
以下の赤枠からダウンロードします。
解凍して、「public_html/Mail/mimeDecode.php」となるようにアップロードします。
あと、もう少しです。
あとは、それを使って解析するスクリプトです。
いろいろネットにはあったのですが、以下がわかりやすかったと思います。
ここに書かれている通りで、$from,$subject,$bodyが取得できます。
$fromは、名前とメールアドレスなどが混在したので、以下のように分離しました。
パースライブラリとかもあったのですが、インストールがまた面倒でやめました。
$from_a=explode(“<“,$from);
$name=$from_a[0];
$from=explode(“>”,$from_a[1])[0];
いくつか、fromのパターンを見たのですが、だいたいこれでいいかなと。
とりあえず、解析はこれで終わり。
あとは、どのように使うかです。
私は、メールでwordpressの投稿ができるようにしました。
いろいろな方から、投稿用のアドレスに情報を受信して、いったんは非公開にしておき、
自分で確認して、公開するというような使い方です。
wp_insert_post
などを使うと、wordpressにログインせずに、投稿ができます。これは、そんなに難しくありません。