メール着信をTT-RSSに通知する方法を検討していますが、
現在試しに使っているRSSWebMail for Windowsだと、
何とか変換は出来るけど、いくつか都合が悪いところがあったので、
別のものを探していました。
(新規メールのRSSが定期的に出るのはTT-RSS側でフィルタをかければ済むのですが、
一定時間ごとの検索で、反映に時間がかかったり、メールに対するRSSがかけたりもするので・・・)
で、やっと見つけたのが、Mail2RSSというPHPで書かれたソースコードhttps://github.com/vekin03/Mail2RSS
というわけで、PHPで書かれたプログラムでMail->RSS変換に挑戦。
CentOS6.4 on Walbrixでは標準でLAMP環境が構築されているので、
今回もこれをベースに、PHP-IMAPだけを追加インストールして、
httpd再起動だけすれば準備は完了。
1 2 3 |
yum -y install php-imap /etc/init.d/httpd restart |
後はダウンロードしたPHPソースコードを、配置。
配置先は、
Windowsファイル共有でアクセスするか、
\\<IPアドレス>\html\
SSHで入って、httpdのドキュメントルートにアクセスする。
/var/www/html/
例として、「mail2rss」というフォルダを作って、
mail2rss.phpという名前でダウンロードしたソースコードを保存。
で、環境に合わせて必要な部分を修正
1 2 3 4 5 6 7 8 9 10 11 |
// User-defined constants // ============= CHANGE BY YOUR OWN INFORMATIONS HERE ! ===== define('TOKEN', '<strong>YOUR_OWN_TOKEN</strong>'); define('MAIL_PROTO', '<strong>IMAP</strong>'); // You can choose : IMAP, POP3 define('MAIL_USERNAME', '<strong>you@yourmailhost.com</strong>'); define('MAIL_PASSWORD', '<strong>PASSWORD</strong>'); define('MAIL_SERVER', '<strong>yourmailserver.com</strong>'); define('MAIL_PORT', <strong>993</strong>); define('MAIL_SECURITY', '<strong>SSL</strong>'); // You can choose : SSL, TLS or leave blank //define('MAIL_CHECK_CERTIFS', true); // ========================================================== |
ここで、TOKENには、rss取得時のパスワードの代わりになるので、任意の文字を入力。
また、メールサーバに通常のIMAPでアクセスする場合は、以下のように指定します。
1 2 3 |
define('MAIL_PROTO', '<strong>IMAP</strong>'); define('MAIL_PORT', <strong>143</strong>); define('MAIL_SECURITY', ''); |
修正が終わったら、試しにブラウザでアクセス
1 |
http://<IPアドレス>/mail2rss/mail2rss.php?token=<YOUR_TOKEN> |
RSS Feed的なXMLデータが表示されればOKです。
あとは、TT-RSSで、フィードを購読すれば、新着メールをRSSでチェックできます。
なんで、こんな面倒なことをしているのかというと、
単にZabbixの監視の結果をメールサーバを経由して、RSSに表示させるためだったり。
Zabbixだけだったら、直接MySQLからトリガーをRSSに変換してもよさそうけど、
トリガ名とかでZabbixのマクロ変換が難しそうなので・・・・
メールサーバを経由する場合、Zabbixだけじゃなくて、異常時にメールをタスシステムにも応用が利きそうかなと。
あと、Zabbixからのメールの場合、本文がBase64エンコードされて表示されるけど、
この辺はソースを直せば何とかなりそうな気もするので、あとで挑戦予定。
ただ、件名だけ見えれば、今回の目的の場合は問題ないかと。
将来的には、Roundcube Webmailをインストールして
連携させたいなぁ・・・・と妄想中。
ZabbixとTT-RSSとの連携は時間があれば後日まとめたいです。