• 締切済み

PEAR::Mailを使ったメール本文の書き方

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項目あり、全てベタで書くのも大変なのでループ処理をしたいのですが、ヒアドキュメントの中には変数しか書けないようですし、どのようにしたら良いかがわからなくて困っています。 宜しくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>その場合改行コードなども変数に入れておく感じになるのでしょうか。 そうですね「\n」を入れればよいでしょう。 場合によってはexplodeのセパレータを「\n」にしてみるとか・・・ でもあんまよくないか・・・

invare
質問者

補足

yambejpさん ありがとうございます。 「\n」で分割ですか。 ではやってみます。 また結果を投稿します。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

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

invare
質問者

補足

>ループで必要データを変数に流し込んでおけばいいのでは? その場合改行コードなども変数に入れておく感じになるのでしょうか。 >ユーザビリティは悪いと思いますが・・・ ユーザーがアイテムの画像を何点か添付したものを企業が受け取り画像を元に 良し悪しを判断するようなメールフォームで、一回で送れるアイテムを最高で 10点まで増やせるようにして欲しいと言われアイテム情報まで入れると 最大70項目になりました。 なのでユーザーに送る事はありません。 確かにユーザー向けだと70項目は良くないですね。

すると、全ての回答が全文表示されます。

関連するQ&A