itLinkedInPocketCopyレンタルサーバー(さくらインターネット)で受信したメールの添付ファイルを保存する方法を調べてみた。大変だったけど、なんとかQdmailReceiverを使って、受信したメールを処理することができたのでメモ。準備まず、さくらインターネットのレンタルサーバーのコントロールパネル(https://secure.sakura.ad.jp/rscontrol/)からログインし、ログインしたら、「メールに関する設定」「メールアドレスの管理」から、受信するメールアドレスの追加(今回はtestとする)を行う。test@●●●.sakura.ne.jp(●●●はさくらのアカウント)次に、「メールアドレス毎の設定」から、作成したメールアドレスの「ウェブメール」を開き、「電子メールの転送」で、適当なアドレスへの転送を設定し、その設定を削除する。FTPでサーバーに接続する。自分のディレクトリにメールを処理するPHPを入れるmail_hookと、添付ファイルを保存するmail_attachの2つのディレクトリを作成する。ここまでで、受信用のメールアドレスと、受信したメールを指定したPHPファイル(test.php)に送る設定が完了。下のPHPファイルを作成し、さっき作成した/home/●●●/mail_hook/のディレクトリにFTPでアップロードする。・test.phpのエンコードはeucに、改行コードはLFにする。・ファイルパーミッションは744に設定する。ここまでできたら、テストメールを送ってみる。うまく行けば、mail_hookの中に「mail.txt」ができるはず。QdmailReceiverのインストールとコードの修正メールの解析にはQdmailReceiverを利用する。Clienthttp://hal456.net/qdmail_rec/元の作者の方の開発(http://hal456.net)は止まっているが、引き継いでいる方がGitHubで公開しているのでこれを利用する。Qdmailシリーズのgithub版です。PHP5.4対応(https://github.com/ftngrn/qdmail)QdmailをPHP7.0に対応させる(https://gist.github.com/YukiYamashina/2c53e0c43bf035ffc8d2bf0dcfbf7b29)まず必要となるphpファイルqdmail_receiver.phpは、Qdmailシリーズのgithub版です。PHP5.4対応からダウンロードする。qdmail_receiver.phpは、PHP5.4までしか対応していないので、これをPHP7.1に対応させるためにQdmailをPHP7.0に対応させるのREADME.mdを参考にしてコードを少し修正。);}781行目を修正。);}}1210行目を修正。$obj;}1311行目を修正。修正したら、「/home/●●●/mail_hook/」にFTPでアップロードする。qdmail_receiver.phpの動作確認http://hal456.net/qdmail_rec/stdin_baseを参考に、test.phpを書き換えて、qdmail_receiver.phpの動作確認をする。);fclose($fp);?>修正したtest.phpをアップロードして、準備したアドレスにメールを送る。うまく行けば、送ったメールの件名と本文をsample.txtに書き出してくれるはず。添付ファイルの保存http://hal456.net/qdmail_rec/function_baseを参考に、メールに添付されたファイルを保存するように、test.phpを書き換える。fclose($fp);}?>修正したtest.phpをアップロードして、準備したアドレスにファイルを添付したメールを送る。QdmailReceiverを使えば、意外と簡単にできるもんやね!その他雑感レンタルサーバーのPHPバージョンを7.1にしていたので、手間が増えてしまった。5.6のままだったら、qdmailReceiver.phpのコードは修正なしでも大丈夫だったかも。ちなみにwindowsと一緒。...さくらのVPSサーバーにCentOS7をインストールして最初に行った設定VPSサーバーにCentOS7インストール後に最初にやる設定メモ。