perl
sendmail
2008-08-06 12:49
今まではjcode.plとかmimew.plとか使っていたけど、古いねぇ。ってことでUTF8に書き換えた。ベースプログラムをメモ。
#!/usr/bin/perl
# UTF8でメール送信
use MIME::Base64;
my $Sendmail = '/usr/sbin/sendmail';
my $MailTo = "hoge\@hoge.hoge";
my $MailFrom = "ふー <foo\@foo.foo>";
my $MailCc = "";
my $MailSubject = "メールタイトル";
my $MailMsg = "メール本文です";
print "Content-type: text/html\n\n";
&MailSend($MailTo,$MailFrom,$MailCc,$MailSubject,$MailMsg);
print "success";
sub MailSend {
my ($MailTo,$MailFrom,$MailCc,$MailSubject,$MailMsg) = @_;
# subjectが76文字を超える場合
# Base64.pmの「encode_base64($str, $eol);」参照
# メール送信オプション
# http://www.qunea.com/blog/log/20080801-1749.html
# open (SENDMAIL, "| $Sendmail -t $MailTo") or die print "error";
open (SENDMAIL, "| $Sendmail -tf $MailTo") or die print "error";
print SENDMAIL "To: $MailTo\n";
print SENDMAIL "From:$MailFrom\n";
if ($MailCc ne "") { print SENDMAIL "Cc: $MailCc\n"; }
print SENDMAIL "Subject: $MailSubject\n";
print SENDMAIL "MIME-Version: 1.0\n";
print SENDMAIL "Content-Type: text/plain; charset=utf-8\n";
print SENDMAIL "Content-Transfer-Encoding: base64\n";
print SENDMAIL "\n";
print SENDMAIL encode_base64($MailMsg);
close(SENDMAIL);
}
ちなみにMIME::Base64が無かったのでCPANでMIME::Base64をダウンロード。中にBase64.pmが入ってる。プログラムを設置している階層に「MIME」というディレクトリを作り、その中にBase64.pmを入れたら動く。
TrackBack URL for this entry:
http://www.qunea.com/mt/mt-tb.cgi/1734
Post a comment