プロが教えるわが家の防犯対策術!

現在、さくらのレンタルサーバにて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

何か間違いであるとか、他に必要な設定がありますでしょうか?
宜しくご教授お願いいたします。

A 回答 (3件)

http://matsup.blogspot.jp/2012/12/freebsd-perl-n …

上記のページに、今回の質問と同じトラブルが取り上げられています。とりあえず、バージョンを調べてみてはどうでしょうか。それで、原因が同じであれば、サポートに解決を依頼する必要があるかも?

この回答への補足

早速の回答ありがとうございます。
いただいた参考URLをじっくり読んでみます。
じつはhttp://oshiete.goo.ne.jp/qa/8354111.htmlにも質問したのですが、さくらのレンタルサーバのOSがバージョンアップしてからこのようなことがあります。そしてcpanも利用できなくなりました。何か考えられる事があれば教えていただきたいです。
宜しくお願いいたします。

補足日時:2013/11/19 21:38
    • good
    • 0
この回答へのお礼

ありがとうございました。問題解決しました。今回は本当に助かりました。

お礼日時:2013/11/21 17:11

http://www.macminiosx.com/2012/07/mt52_smtp_tls. …

上記のページ等で、別の解決方法が紹介されています。Net::SMTP::TLS 内のサブルーチンを修正する方法です。元のファイルは修正不可でしょうから、コピーして修正することはできないでしょうか。

以下は、私が利用している Net::FTP でのテストです。プログラムのあるディレクトリに Net サブディレクトリを作り、そこに FTP.pm をコピーしたところ、プログラムは問題なく動作しました。

use lib '.'; # @INC の先頭をカレントディレクトリに
use Net::FTP;
print $INC{'Net/FTP.pm'}, "\n"; # 読み込まれたモジュールの確認
$ftp = Net::FTP->new('192.168.x.x');
$ftp->login('anonymous') or die "Can't connect: $@";
print join(', ', $ftp->ls), "\n";
$ftp->quit;
    • good
    • 0
この回答へのお礼

ありがとうございます。大変参考になりました。このモジュールは何があるかわからない感じなので、今後の為に記憶に留めておきます。

お礼日時:2013/11/21 17:16

No.1 です。

個別のレンタルサーバのことなので、申し訳ありませんがわかりません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!