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

お世話になっております。
ご存知の方いらっしゃいましたら、ご教授願えますでしょうか?

現在、会社の採用応募のためのメールフォームを作成しています。

メールは通常通り送信されているので、問題はないのですが、
フォームの内容がメールで担当者に送られてきた際、
フォームの内容だけでは分かりづらいので、
メール本文(フォームの内容の前に)に以下のような内容を追加したいと思っています。

※追加したいところには※マークがついています。
<追加内容>
※以下の内容で応募がありました。
※---------------------------------------
※《応募内容》


(フォームの登録内容)


※---------------------------------------

メールボディを作成する部分があるので、こちらに試しに以下のように記述してみたのですが、
「------------------」の行のみメールが送られてきました。


<CGIのコード>
{
$mailbody = "以下の内容の応募が応募フォームよりありました。\n";
$mailbody = "-------------------------------------------\n";
$mailbody = "《応募内容》\n";
for ($i = 0; $i < $cnt; $i++) {
$mailbody .= "$FORM[$i] = $FORM{$FORM[$i]}\n";
}

$mailbody =~ s/(^|\n)\.(\n|$)/$1. $2/g;
$mailbody =~ s/(^|\n)\.(\n|$)/$1. $2/g;

$mailbody = "-------------------------------------------\n";

}

ちなみに最後の「$mailbody = "-------------------------------------------\n";」を
消してみたところ「《応募内容》~フォームの入力内容~」
のような形で送られてきたのですが・・・。

メール本文に複数行文章を追加したい場合はどうしたらよいのでしょうか?

お手数ですが宜しくお願いいたします。

A 回答 (1件)

こんちは。



CGIの記述方法に関しては勉強不足ですが。。。参考程度に。


「$mailbody .=」

「$mailbody =」
の違いでは?


毎回、「$mailbody =」で、変数格納してますが、単純に内容が上書きされてってるだけじゃないかと。。。


>>「$mailbody = "-------------------------------------------\n";」を

さらに、for文の箇所でも消してみたら、「《応募内容》」だけが送られてくると思いますよ。



正しい記述としては、

$mailbody .= "追加したいもの";

もしくは

$mailbody = $mailbody."追加したいもの";

かな?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

STICKY2006様に教えて頂いた通り、「$mailbody .= "追加したいもの";」に
変えてみましたところ、思っていた通りの結果が送られてきました!

先日cgiを始めたばかりだったので、右も左もまだ分からないですが、
頑張って勉強していきたいと思います。

大変助かりました!
ありがとうございました!

お礼日時:2009/06/24 14:40

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