Net::SMTP::TLS
SMTPSクライアントモジュール。SMTP+STARTTLS、及び、SMTP認証をサポートする。
use Net::SMTP::TLS;
パッケージをロードする。
my $smtp = Net::SMTP::TLS->new($host[, %options);
$host:SMTPサーバのホスト名:ポート番号、または、IPアドレス:ポート番号。
ポート番号のデフォルトは25。%options内のHostパラメタとは排他使用。
%options:主要なオプションは下記の通り
Hello:HELO/EHLOコマンドに指定するドメイン名。
Host:SMTPサーバのホスト名、または、IPアドレス。$hostとは排他使用。
Port:SMTPサーバのポート番号。$hostとは排他使用。
User:ユーザ名。
Password:パスワード。
NOTLS:STARTTLSを使用しない。
Timeout:タイムアウト時間、デフォルトは120秒。
Debug:trueを指定するとSTDERRにデバッグメッセージを表示する。
メール送信用メソッドは、Net::SMTPと完全互換。 典型的な使い方は下記。
my $mail = << "EOL";
To: $to_saddr
From: $from_addr
Subject: $subject
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
Hello world!
EOL
my $smtp = Net::SMTP::TLS->new($host,
Debug => $debug , Hello => $domain,
User =>
$user, Password => $pqsswd)
|| return
errorlog('(SMTP) can not connect SMTP Server');
my $send = eval {
$smtp->mail($from_addr);
$smtp->to(@to_addr);
$smtp->data();
$smtp->datasend($mail);
$smtp->dataend();
$smtp->quit;
1;
};
unless ($send) {
errorlog('(SMTP) ' . $@);
return 0;
}