メール送信ライブラリ
sendmailコマンドをたたくのではなく、SMTPサーバと直接通信してメールを送信するための機能をまとめたPerlライブラリです。
従来の素通りSMTPの他、POP before SMTPやSMTP-Auth、SMTP-Auth over SSLにも対応しています。Gmailのアカウントを使っての送信も、Gmail側の設定を適切に行うことにより可能です。
利用条件
- 著作権は放棄しません。
- 有償・無償問わず、ご自身のスクリプトに組み込んだり、requireで呼び出したりして使用可能。
- このライブラリを単体で配布することはできません。
- このライブラリを必要とする他のスクリプトと同梱して配布したい場合は、配布ページと同梱ファイル(readme.txt)などにhttp://cgi-bin.jp/へのリンクもしくはURLを記載することにより可能です。
- このライブラリの改造版(改良版)を配布する場合は、配布ページと同梱ファイル(readme.txt)などにhttp://cgi-bin.jp/へのリンクもしくはURLを記載してください。
- このライブラリを参考に自分でプログラムを組み上げたものを配布する場合は、cgi-bin.jpのURL等表記する必要はありません。ご連絡いただければこちらからリンクさせていただくかもしれません。
- 使用はあくまでも自己責任で。補償・サポートはありません。
- Perlモジュールの依存関係の解決もご自身で。
ダウンロード
ZIPファイルで配布しています。下のリンクをクリックしてください。
メール送信ライブラリ(by cgi-bin.jp)
必要な環境
Perl
バージョン5.6以上(5.8以上推奨)
モジュール
- Jcode
- MIME::Base64
- Net::SMTP
- Exporter
- IO::Handle
- IO::Socket::INET
- Net::SMTP::SSL(SSL通信使用時)
- Test::More(〃)
- IO::Socket::SSL(〃)
- Authen::SASL(SMTP-AUTH使用時)
- Net::POP3(POP before SMTP使用時)
モジュールはCPANなどでインストールしてください。モジュールのインストール権限がない場合、任意のユーザディレクトリにモジュールファイルをダウンロードしてパスを通せば動くかもしれませんが、動かないかもしれません。
管理者に頼んで「Jcode」「MIME::Base64」「Net::SMTP」「Net::SMTP::SSL」「Authen::SASL」「Net::POP3」を動くようにしてもらうのが吉。これらが動くためには依存関係にある他のモジュールもインストールせざるをえないので。
設定
ダウンロードしたファイルを解凍し、設定を行います。設定はsmtp.plに直接行います。
SMTP認証関係(67行目~73行目)
61行目~73行目のコメントを参照して設定してください。
必要のない設定項目は、行そのものを消す、コメントアウトするのではなく、値にnull(シングルクォート2連続)を指定してください。
。
POP認証関係(76行目~79行目)
POP before SMTPを使用する際に必要になります。コメントを参照しながら設定してください。
。
設置方法
smtp.plを呼び出すスクリプトのエンコードにあわせて保存し(ダウンロードした時点ではUTF8です)、サーバにアップロードしてください。
パーミッションはCGI実行権限者が読めればいいが、644か604が一番多いパターン。
使用方法
呼び出し元のスクリプトからsmtp.plをrequireする。
&mailwithsmtp(宛先,送信元,表題,本文) でメール送信します。単純なSMTP送信以外は、返値にエラーメッセージ(ある場合)が入ります。
Jcode.pmが対応している文字コードであれば、自動で変換しますのでサブルーチンに投げる前に文字コード変換する必要はありません。(メールの文字コードはJISで固定です)