質問 > フロント機能 > お問い合わせに添付ファイル |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
AMUAMU |
投稿日時: 2010/6/11 15:11
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: お問い合わせに添付ファイル 引用:
皆さんの記事を参考にしながら作業しているのですが、どうにもいかなくなってしまったので教えて下さい。 どうにもいかないとは、具体的に何でしょう? 質問のコードを見る限り、変数の受け渡しなどが記載ありませんが、PHPの基本部分で何か間違っていませんか? またマルチポストで質問されていましたが(マルチポストは避けましょう)、画面が真っ白はPHPのエラーの場合が殆どです。何らかのコーディングミスなどがあるのではないですか? phpのエラーログを確認されて、見直すことをお勧めします。 また、下記URLページを再度かもしれませんが、ご確認いただくことをお勧めします。 http://xoops.ec-cube.net/modules/tinyd0/index.php?id=8
|
george |
投稿日時: 2010/6/11 18:06
対応状況: −−−
|
半人前 登録日: 2010/3/30 居住地: Niigata 投稿: 12 |
Re: お問い合わせに添付ファイル AMUAMUさま
早速のお返事ありがとうございました。 別の記事として投稿してしまい皆さんにご迷惑をかけてしましました。すいません。 もう一度見直して再度質問させて頂きたいと思います。 よろしくお願い致します。 |
satake7 |
投稿日時: 2010/8/1 10:26
対応状況: −−−
|
半人前 登録日: 2010/2/19 居住地: 葉山・秋谷 投稿: 12 |
Re: お問い合わせに添付ファイル すでに解決済みだとは思いますが、ググってここへ来る人のためにエッセンスのみ(※2.4.4)
・data/class/SC_SendMail.phpの class SC_SendMail に追加します。(ちゃんとやる人は、_Exに追加してください) ・元のソースですでに、$this->objMailMime = new Mail_mime() が用意されているのでこれを使うのがいいかなと。 ・これを呼ぶ前に普通のメールの送信準備($objSendMail->setItem()、$objSendMail->setTo())が済んでいること。 ・$attach にはフルパスのファイル名を入れます。(画像限定) パスが間違っていたり、パーミッションがなかったら添付ファイルが付きません。 ・<form enctype="multipart/form-data">で、html/upload/temp_image にファイルをあげておいてこれを使うのがいいかも。パーミッションを気にしなくてもいいから。 function sendAttachMail($attach) { $header = $this->getTEXTHeader(); $recip = $this->getRecip(); $this->objMailMime->setTxtBody($this->body); foreach ($attach as $key => $val) { if (($ext = pathinfo($val, PATHINFO_EXTENSION)) == "jpg") { $ext = "jpeg"; } $this->objMailMime->addAttachment($val, "image/".$ext); } $bodyParam = array( "head_charset" => "ISO-2022-JP", "text_charset" => "ISO-2022-JP" ); $body = $this->objMailMime->get($bodyParam); $addHeaders = array( "To" => $this->to, "From" => $this->from, "Subject" => $this->subject ); $headers = $this->objMailMime->headers($addHeaders); // メール送信 if (is_array($recip)) { foreach ($recip as $rcpt_to) { $results[] = $this->objMail->send($rcpt_to, $headers, $body); } } else { $results[] = $this->objMail->send($rcpt_to, $headers, $body); } $ret = true; foreach ($results as $result) { if (PEAR::isError($result)) { GC_Utils_Ex::gfPrintLog($result->getMessage()); GC_Utils_Ex::gfDebugLog($header); $ret = false; } } return $ret; } |
satake7 |
投稿日時: 2010/8/6 18:30
対応状況: −−−
|
半人前 登録日: 2010/2/19 居住地: 葉山・秋谷 投稿: 12 |
Re: お問い合わせに添付ファイル 追記です。
「元のソースですでに、$this->objMailMime = new Mail_mime() が用意されているのでこれを使うのがいいかな」と書きましたが、これを使うと、呼出し側のインスタンス内で2回呼ばれた場合、例えば「お客様と自店宛てに同じものを2通送る場合」など、$this->objMailMimeが初期化されず、不具合が発生します。 具体的には、headerをセットするところで、array_merge()を使っているので、同じキーの内容が書き変わらなかったり、添付ファイルが二重に追加されたりします。 ですので、$this->objMailMimeは使用せず、setTxtBody()の前でその都度、$objMailMime = new Mail_mime() するようにしてください。 これなら大丈夫だと思います。 |
TigerWalk |
投稿日時: 2011/1/25 16:14
対応状況: −−−
|
半人前 登録日: 2008/11/14 居住地: 投稿: 21 |
Re: お問い合わせに添付ファイル 私もちょうど同じことをしようとしておりましたので、Tips32を参考にして
みましたが、使用するメールテンプレート order_mail_shop.tpl(ショップ向け?)と order_mail.tpl(顧客確認用?)と比べてみましたが 全く同じものでした。 これって関係ないのかな? |
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |