sendmail実行時のエラー
受け渡されたパラメーターをセットしてsendmailを実行すると「Premature end of script headers:」というエラーになります。
試しにパラメーターを直セットしてsendmailすると、文字化けはしますが送信はされました。
メールでなく、ファイルに出力してみたところ、
From: " =?ISO-2022-JP?B?GyRCJDUkRiQ1JEYbKEI=?= "<xxxx@xxxx.ne.jp>
Subject: =?ISO-2022-JP?B?GyRCIXo7cU5BQEE1YRsoQg==?=
この2つだけが文字化けしていて、本文は大丈夫でした。
ソースは以下の通りです。
require './jcode.pl';
# MIMEエンコードライブラリを使う
$mimew = './mimew.pl';
・・・・・略
# MIMEエンコード
if (-e $mimew) {
require $mimew;
$subject = &mimeencode($mail_sub);
$from = &mimeencode("From: \"$in{'cname'}\" <$in{'mail'}>");
} else {
$subject = $mail_sub;
&jcode'convert(*subject,'jis');
$from = "From: $in{'mail'}";
}
・・・・パラメータのコンバート&jcode'convert(データ, 'jis');
・・・・メール本文($mail_body)のセット
$err = 0;
open(MAIL,"| $sendmail -t") || $err = 1;
print MAIL "To: $mailto\n";
print MAIL $from, "\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n\n";
print MAIL "$mail_body\n";
close(MAIL);
文字化けもですが、まずはエラーを解消するにはどうしたらいいでしょうか。教えて下さい。お願いします。
お礼
御回答ありがとうございます。URL参考にさせていただきます