「これはヤバかったな」という遅刻エピソード

PEAR::Mailを使ってフォームからメール送信をしようとしていますが
本文となる部分の書き方がわかりません。

以前はこの正しいかどうかはわかりませんがPEAR::Mailを使わず
$body .= "■名前:" .$_SESSION["sei"]." ".$_SESSION["mei"]. "\n";
$body .= "■カナ:" .$_SESSION["sei_kana"]." ".$_SESSION["mei_kana"]. "\n";
mb_send_mail( $mail_to, $subject, $body, $headers );
のように書いておりましたが、

今回はファイルの添付が複数必要になり楽に添付ファイルの送信が出来るとのことでPEAR::Mailをインストールして初めて使いました。

メールの添付はできたのですが、本文が以前のような書き方では送信できませんでした。

$body = "添付ファイルのテストです。";
$body = $_SESSION["sei"]. $_SESSION["mei"]."\n";
とするとエラーに
$body = "添付ファイルのテストです。".$_SESSION["sei"];
としてもエラーになります。
同然間違った書き方なのでしょうけど、正しい書き方がわからず。

調べても対外が
$body = "メール送信テスト"
のような変数に対して簡単な1行の文字列のもばかりでようやく

$sei = $_SESSION["sei"];
$mei = $_SESSION["mei"];

$body = <<< _EOT_
添付ファイルのテストです。
$sei
$mei
_EOT_;
のようにヒアドキュメントを使って送れるところまでは出来たのですが、今回送りたい項目がユーザー側の操作で増減し最大70項目あり、全てベタで書くのも大変なのでループ処理をしたいのですが、ヒアドキュメントの中には変数しか書けないようですし、どのようにしたら良いかがわからなくて困っています。

宜しくお願いします。

A 回答 (2件)

>その場合改行コードなども変数に入れておく感じになるのでしょうか。



そうですね「\n」を入れればよいでしょう。
場合によってはexplodeのセパレータを「\n」にしてみるとか・・・
でもあんまよくないか・・・

この回答への補足

yambejpさん
ありがとうございます。

「\n」で分割ですか。
ではやってみます。
また結果を投稿します。

補足日時:2009/01/17 00:04
    • good
    • 0

>ヒアドキュメントの中には変数しか書けない



ループで必要データを変数に流し込んでおけばいいのでは?
ただ、70項目もメールで送りつけてもユーザビリティは悪いと
思いますが・・・

この回答への補足

>ループで必要データを変数に流し込んでおけばいいのでは?

その場合改行コードなども変数に入れておく感じになるのでしょうか。

>ユーザビリティは悪いと思いますが・・・

ユーザーがアイテムの画像を何点か添付したものを企業が受け取り画像を元に
良し悪しを判断するようなメールフォームで、一回で送れるアイテムを最高で
10点まで増やせるようにして欲しいと言われアイテム情報まで入れると
最大70項目になりました。
なのでユーザーに送る事はありません。

確かにユーザー向けだと70項目は良くないですね。

補足日時:2009/01/16 17:35
    • good
    • 0

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