電子書籍の厳選無料作品が豊富!

こんばんわ。
Perlで一点伺いたいことがございます。

SMTP認証して、メールを送信したいのですが
ネット上でサンプルをさがしてきて実際に試したのですが
うまくいきません。

どうしたらいでしょうか?以下が実施に動かしているコードです。

#!/perl/perl/bin/perl

use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser);
print"content-type: text/html\r\n\r\n";
print "Hello World!\n";
use Net::SMTP;

#SMTPサーバの指定
my $mailhost = 'smtp.gmail.com';
my $mailport = 587;
my $mail_username = 'XXX@gmail.com';
my $mail_password = 'パスワード';
my $to_mail = '宛先';
my $from_mail = '送信先';

my $smtp = Net::SMTP->new($mailhost,Port => $mailport);
$smtp->auth($mail_username, $mail_password);
#メールの送信先
$smtp->mail($from_mail);
$smtp->to($to_mail);
#メールの内容
$smtp->data();
$smtp->datasend("From: $from_mail\n");
$smtp->datasend("To: $to_mail\n");
$smtp->datasend("Subject: test\n");
$smtp->datasend("\n");
$smtp->datasend("test\n");
#メール内容終わり
$smtp->dataend();
#接続を切る。
$smtp->quit;
print $smtp;

ほぼコピーアンドペーストなのですが、うまくいきません。
とりあえず、newしたオブジェクト $smtpを出力してみると
アドレス的なものが表示されます。

Net::SMTP=GLOB(0x7d15ec)

ただ、これは認証情報が適当でも出力されるようです。

何度やってもメールは届いていないようなので認証の時点でまちがっているのでしょうか?
ただ、認証情報は実際にメールソフトで使っているものなので、間違いないと思うのですが、識者の方よろしくご教授お願いします。

A 回答 (1件)

Net::SMTPのSSLだかTLSだか使う必要があると思います。


あとはAuthen::SASLがインストール済であることとか。
    • good
    • 0

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