dポイントプレゼントキャンペーン実施中!

CGIからサーバにあるsendmailを使おうとしているのですが、分からない点があります。
メール自体は、きちんと送信されるのですが、To以外のヘッダーが本文と一緒に送信されてしまいます。
メールの送信者欄と件名欄が空白になってしまい困ってます。分かる人がいましたら教えてください。
下記がソースです。

&jcode'convert(*subject,'jis');
&jcode'convert(*message,'jis');

open(MAIL,"|$sendmail -t -f $master_mail");
print MAIL "To: $mail\n";
print MAIL "From: $master_mail\n";
print MAIL "Subject: $subject\n";
print MAIL "Contnt-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n\n";
print MAIL "$message\n";
close(MAIL);

A 回答 (2件)

$mailを最後にしたら大丈夫ということはNo1さんが正解かもしれませんね。


$mailがテキストファイルから読み出したものなら可能性は高いと思います
chomp($mail)で改行を削除してみてはどうでしょう

&jcode'convert(*subject,'jis');
&jcode'convert(*message,'jis');

chomp($mail);
open(MAIL,"|$sendmail -t -f $master_mail");
print MAIL "To: $mail\n";
print MAIL "From: $master_mail\n";
print MAIL "Subject: $subject\n";
print MAIL "Contnt-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n\n";
print MAIL "$message\n";
close(MAIL);
    • good
    • 0
この回答へのお礼

お返事遅くなりました。早速、改行を削除して順番を色々入れ替えてみた所、ヽ(`○´)/ できました。
初心者みたいな質問ですみませんでした。
プログラムは、ちょっとしたことでバグが出るので気をつけなきゃいけないなぁと実感しました。
ありがとうございました。

お礼日時:2005/10/06 14:09

print MAIL "To: $mail\n";


の$mail自体に「\n」が入ってるとか。

一度、中身をファイルに書いてみては?
    • good
    • 0
この回答へのお礼

ありがとうございます。
何とか治りました。原因は詳しく分からないのですが
ヘッダーの中のTo・From・Subjectなどの順番を色々入れ替えたら出来ました。本とか他のWEBページを参考にしたのですが、やはりそのようなことは書いてなく順番もばらばらでした。
何か規則性があるのでしょうか?
下記が訂正したソースです。

&jcode'convert(*subject,'jis');
&jcode'convert(*message,'jis');

open(MAIL,"|$sendmail -t -f $master_mail");
print MAIL "Mime-Version: 1.0\n";
print MAIL "Contnt-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "From: $master_mail\n";
print MAIL "Subject: $subject\n";
print MAIL "To: $mail\n\n";

print MAIL "$message\n";
close(MAIL);

お礼日時:2005/10/03 23:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!