#!/usr/local/bin/perl #!D:/Perl/bin/perl.exe # メール送信Perlスクリプトその1(Net::SMTPモジュール版) # NETsmtpMail1.pl 2002.08.21 作成:鷹の巣 http://sakaguch.com/ # # 下記は、「Perlでメールを送る」を参考に日本語処理を追加。 # http://homepage3.nifty.com/hippo2000/perltips/perlmail.htm # 但し、MIME::Entityモジュールは、Active Perlでは、追加作業が必要となるので未採用。 # 添付ファイルをつけないメールの送信。 #■□■ メールの設定データ ■□■ # jcode.plのパスを記入します。 require './jcode.pl'; $mail_server = 'smpt.provider.com'; # SMTPサーバー名(自宅SMTPサーバーの場合はLAN内のブライベートアドレスでも可) $mail_from = 'webmaster@example.com'; # 送信元メールアドレス $mail_to = 'user@example.com'; # 宛先メールアドレス $mail_subj = "Net::SMTPモジュールでメール送信"; # 件名 $mail_body = <<'_MAIL_BODY_'; # メール本文の設定 簡単なメール送信試験 Windows のActive Perlでも、メールを送れます。 jcode.plだけが必要です。 --------------------------------------- サイト名:○○○の自宅サーバー URL http://example.com/ 山田太郎(E-mail:webmaster@example.com) --------------------------------------- _MAIL_BODY_ #■□■ メールの設定終わり ■□■ use Net::SMTP; # Net::SMTPモジュールを使用 &main(); exit; sub main { &sendmail($mail_server, $mail_from, $mail_to, $mail_subj, $mail_body); } #-------------------------------------- # メール送信 #-------------------------------------- sub sendmail { (my $SMTPserver,my $from,my $to,local $subj,local $body) = @_;# 引数の受信 my $SMTP; &jcode'convert(*subj,'jis'); # 文字化けするので、変換 &jcode'convert(*body,'jis'); # 同上。 # オブジェクトの作成 $SMTP = Net::SMTP -> new( $SMTPserver, # SMTPサーバー名を指定 Hello => $SMTPserver, # SMTPドメイン名を指定 Timeout => 60); # 接続待ち許容時間(秒) #ヘッダ部の組み立て $SMTP -> mail($from); # 送信元メールアドレスを指定 $SMTP -> to($to); # 宛先メールアドレスを指定 # $SMTP -> cc($cc); # CC(カーボンコピー)先メールアドレスを指定 $SMTP -> bcc($from); # ブラインドCC先メールアドレスを指定(送信元にもBccでメールを送る)Bcc不要時、コメント行にする。 #データ部の組み立て $SMTP -> data(); $SMTP -> datasend("From:$from\n"); # 送信元(データ部) $SMTP -> datasend("To:$to\n"); # 宛先(データ部) $SMTP -> datasend("Subject:$subj\n"); # 件名 $SMTP -> datasend("\n"); $SMTP -> datasend("$body\n"); # 本文 $SMTP -> dataend(); # データ終端、メール送信 $SMTP -> quit; # SMTP接続の終了 }