ブログ アーカイブ

2010年3月25日木曜日

PerlのSendmail送信プログラム

sendmailが使用出来るUNIX環境であれば、以下のような簡単な例があります。

#!usr/bin/perl

require "mimew.pl";
require "jcode.pl";

$sendmail '/usr/lib/sendmail';

$to="to\@sss.co.jp"; #宛先アドレス
$from="from\@sss.co.jp"; #送信元アドレス
$subject="標題";
$body="メール本文";

&jcode'convert(*body,'jis'); #本文をJISコードへ変換
&jcode'convert(*subject,"jjs"); #標題をJISコードへ変換してMIMEエンコード

$subject=mimeencode($subject);

open(MAIL,"|$sendmail -t"); #ファイルハンドルをsendmailへ紐付け

#sendmailへコマンドの出力
print MAIL "To:$to\n";
print MAIL "From:$from\n";
print MAIL "Subject:$subject\n";
print MAIL "$\n";
print MAIL "$body\n";
close(MAIL);

注1:
sendmailとはUNIXの標準MTAでWindowsNTにも移植されている。
sendmailを使ってメールを送信するには、まずsendmailとファイルハンドルを結び付けます。
次にそのファイルハンドルに対して、宛先、送信元、標題といったヘッダを出力して、続けて改行を一つに本文を出力するだけです。

注2:
メールはJISコードで送信しなければならないこと。ヘッダのところに日本語を使いたい場合はMIMEエンコードしなければならないこと。JISコードへの変換はjcode.plを、MIMEエンコードにはmimew.plを使用していますので、無ければ以下サイトよりダウンロードする。
jcode.pl
mimew.pl

0 コメント:

コメントを投稿