携帯・ビジネスブログ・CGIスクリプト-CGIスクリプトからメールを送信するときに、メールのヘッダをMIMEエンコードして送信する。

トップperl scripts> 続)メールのヘッダをMIMEエンコード

続)メールのヘッダをMIMEエンコード

CGIスクリプトからメールを送信するときに、メールのヘッダをMIMEエンコードして送信する。

SJIS/EUCを自動判別して、JISに変換してくれます。 MIMEW.PLの作者のページは以下。  http://www.cc.rim.or.jp/~ikuta/mime_pls/index.html


$SENDMAIL = '/usr/sbin/sendmail';
require 'mimew.pl';

sub SendMAIL
{

  my( $from, $to, $reply, $subject, $data ) = @_;

  $from    = &mimeencode( $from );
  $to      = &mimeencode( $to   );
  $reply   = &mimeencode( $reply );
  $subject = &mimeencode( $subject );

  &Jcode::convert(\$data, 'jis');

  my $send_buf='';
  $send_buf .= "From: $from\n";
  $send_buf .= "To: $to\n";

  $send_buf .= "Return-Path: $reply\n";
  $send_buf .= "Subject: $subject\n";
  $send_buf .= "Content-Type: text/plain; charset=iso-2022-jp\n";
  $send_buf .= "Content-Transfer-Encoding: 7bit\n";

  $send_buf .= "Mime-Version: 1.0\n";
  $send_buf .= "\n";
  $send_buf .= $data;

  if(!open(MAIL, "| $SENDMAIL -t ")){

    return -1;
  }
  print MAIL $send_buf;
  close MAIL ;
  return 0;
}

related articles