小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

PerlでSMTPモジュールを使ったメール送信

以下のソースは、SMTPモジュールを使ったメール送信プログラムのサンプルです。
カスタマイズのポイントは、メールアドレス設定とメール送信オブジェクト設定のホスト名(IPアドレス)です。
後は、適当にサブジェクトやメール本文を変更して下さい。
尚、ライブラリのmimew.plとjcode.plは、ネットで検索して調達してください。

追記:今の時代は、mimew.plとjcode.plのかわりに標準モジュール Encode.pm を使うとのことです。
参考:http://d.hatena.ne.jp/chaichanPaPa/20070620/1182345355

#!/usr/bin/perl -w
require 'mimew.pl';
require 'jcode.pl';
use Net::SMTP;
use strict;

#メールアドレス設定
my $from = 'FromAddress@aaa.co.jp';
my $mailto= 'ToAddress@bbb.co.jp';

#サブジェクト設定
my $subject = 'テストメール';

#日本語のサブジェクトはエンコード
$subject = &mineencode($subject);

#メールヘッダー設定
my $header = << "MAILHEADER";
From: $from
To: $mailto
Subject: $subject
Mime-Version: 1.0
Content-Type: text/plain; charset = 'ISO-2022-JP"
Content-Trensfer-Encoding: 7bit

MAILHEADER

#メール本体設定
my $message = << "MAILBODY";
メッセージ1
メッセージ2
MAILBODY

#メール本体の文字コードをJISに変換
&jcode::convert(\$message, 'jis');

#メール送信オブジェクト設定
my $smtp = Net::SMTP->new('mailhost');
if ( !$smtp ) {
     print "メールサーバーにアクセスできません!";
     exit;
}

#メール送信
$smtp->mail($from);
$smtp->to($mailto);
$smtp->data();
$smtp->datasend($header);
$smtp->datasend($message);
$smtp->dataend();
$smtp->quit;

参考:
http://perldoc.jp/docs/modules/libnet-1.12/Net/SMTP.pod