2013年11月13日水曜日

FreeBSD で Net::SMTP::TLS を使うには (2013/11 現在)

 Net::SMTP::TLS は2006年1月以来更新が止まっていて,2016年時点ではすでに非推奨になっている。 そこで,2016年11月に FreeBSD で,Perl で gmail からメールを送る:Net::SMTP::TLS をやめて,Net::SMTP,IO::Socket::SSL,Authen::SASL を使うことにした というのを書いたので,そちらも参照してみて欲しい。
 以前,FreeBSD, Perl の Net::SMTP::TLS ではまるという投稿を書いた。 それは,FreeBSD のサーバーから,Perl で 587 番ポートを使って gmail からメールを送信する際に, Net::SMTP::TLS がうまく使えない,という話だった。 その時は CPAN にある Net-SMTP-TLS-ButMaintained というのが使えそう,という事を書いた。 その当時(2012/12),FreeBSD の ports には,Net-SMTP-TLS のバージョン 0.12 しかなく,Net::SMTP::TLS を使って Perl で 587 番ポートを通じてメールを送信するのは不可能だった。 その時の解決策は CPAN の Net-SMTP-TLS-ButMaintained を取ってきて,TLS.pm を置換える作戦だった。 その作戦を使うと TLS.pm + Perl で 587 番ポート経由でメールを送信することができた。

 その後,そのままメールを使っていたのだが,Perl のバージョンを 5.18 に上げた際に,Perl + Net::SMTP::TLS で 587 番ポートからメールが送信できなくなったので,以前の話を思い出した。 Perl のバージョンを上げると,Perl 関連のパッケージをインストールしなおさないと行けないのだが,Net::SMTP::TLS は,ButMaintained を手動で置換えないといけないのだった。 その時,FreeBSD の ports を見ると,p5-Net-SMTP-TLS 以外に p5-Net-SMTP-TLS-ButMaintained という ports が作られているのを見つけた。 これは使えるかもしれない,と思って,p5-Net-SMTP-TLS-ButMaintained を使ってみようと思ったのが,今回の話。