PerlでSMTP-AUTH認証をする
現在、さくらのレンタルサーバにてperlスクリプトを稼動しています。
今回、さくらのレンタルサーバのメール認証がPOP before SMTPからSMTP認証(SMTP-AUTH)に変更になりましたので、perlスクリプト内で自動メール送信させるのにNet::SMTP::TLSモジュールを利用することにしました。そこで
(1)SMTPサーバー名、ポート番号、ユーザー名、パスワードを設定する
(2)宛先などの必要な設定をする
(3)メール内容を設定する
(4)メールヘッダを設定する
(5)メールを送信する
という流れで現在perlスクリプトを以下のように記述しました。
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use Net::SMTP::TLS;
use Authen::SASL;
my $smtp = Net::SMTP::TLS->new($mailhost,
Port => $mailport,
User => $mail_username,
Password => $mail_password
);
$smtp->mail($from_mail);
$smtp->to($tomail);
$smtp->data();
$smtp->datasend($header);
$smtp->datasend($message);
$smtp->dataend();
$smtp->quit;
変数の値は割愛していますが、
上記のスクリプトは、POP before SMTPの時は問題なくメール送信できたのですが、サーバのメール認証がSMTP認証(SMTP-AUTH)に変更になってからは以下のようなエラーが出ます。
invalid SSL_version specified at /usr/local/perl/5.8/lib/perl5/site_perl/5.8/IO/Socket/SSL.pm line 418
何か間違いであるとか、他に必要な設定がありますでしょうか?
宜しくご教授お願いいたします。
お礼
ありがとうございます。