SMTPする (module)Net-SMTP

back
オプションモジュール
Perl5.8 からは標準(?)
http://search.cpan.org/~gbarr/libnet-1.19/Net/SMTP.pm

SMTP 通信する。
「メールを送る」よりは、「(telnetで)SMTPする」のためのモジュール
メールを送りたいのなら、Mail::Sender 等を使ったほうが楽

see perldoc Net::SMTP

--------------
#!/usr/bin/perl

use Net::SMTP;

$mta = "smtp.example.org";
$from = 'fromuser@smtp.example.org';
$to =   'rcptuser@smtp.example.org';

$smtp = Net::SMTP->new($mta,
                       Hello => "hostname",
                       Timeout => 30
                       ) || die "new error\n";

while (1) {

  #print $smtp->domain, "\n";

  $smtp->mail($from) or last;  # mail from
  $smtp->to($to) or last;      # rcpt to

  $smtp->data() or last;       # data
  $smtp->datasend("Subject: test mail\n");
  $smtp->datasend("\n");
  $smtp->datasend("hoge\n");
  $smtp->dataend() or last;    # .

  last;
}
$smtp->quit;

# while にしてるのは、コマンドがエラーになっても最後に quit をするため

back