
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);
No.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);
お返事遅くなりました。早速、改行を削除して順番を色々入れ替えてみた所、ヽ(`○´)/ できました。
初心者みたいな質問ですみませんでした。
プログラムは、ちょっとしたことでバグが出るので気をつけなきゃいけないなぁと実感しました。
ありがとうございました。
No.1
- 回答日時:
print MAIL "To: $mail\n";
の$mail自体に「\n」が入ってるとか。
一度、中身をファイルに書いてみては?
ありがとうございます。
何とか治りました。原因は詳しく分からないのですが
ヘッダーの中の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);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sendmailで複数の宛先にメール...
-
JSONで文字列が長い時
-
「*:*」って何を意味するのでし...
-
formで特定のinputを送信しない...
-
シェルスクリプトで、空白(ス...
-
ACCESS テキストボックスを隙...
-
Python3
-
実行中の変数の中身をイミディ...
-
【メモリ不足で落ちる(python)】
-
Application.ScreenUpdating = ...
-
VBA他のブックから値のみ貼付す...
-
.NTEで書き込み中にProgressBar...
-
プルダウンリストの背景色の指定
-
セレクトメニューで2つの項目...
-
I2C接続のLCDディスプレイを使う
-
メモリをアドレスを直接指定し...
-
linq で 楽天ウェブサービスのX...
-
Perlで日付を取得する
-
PHP+SQLiteでmax(id)が使えない?
-
UWSC SLCTBOXもしくはSELECTに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sendmailで複数の宛先にメール...
-
Perlにて、sendmailを使用する...
-
フォームの日本語が文字化け
-
sendmailのFROMに日本語を使う
-
Perlからメール送信で文字化け
-
Sendmailの文字化けについて
-
sendmailで複数アドレスに送信...
-
Perl からbashを呼び出したい
-
sendmailで送信したメールが届...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
formで特定のinputを送信しない...
-
実行時エラー 3020の対策
-
セレクトメニューで2つの項目...
-
メモリをアドレスを直接指定し...
-
シェルスクリプトで、空白(ス...
-
16進の10進変換について
-
<SELECT>タグの折り返し
-
文字の横にプルダウンを表示さ...
-
FindFirst を複数条件で検索
おすすめ情報