0

私は組織向けの小さな CakePHP アプリケーションを作成しており、電子メール アドレス、件名、およびメッセージを受け入れ、そのアドレスにメッセージを電子メールで送信する簡単な連絡フォームが含まれています。

すべてが正常に機能しているように見え、私や組織の誰かに送信された電子メールは、POP 経由でメッセージにアクセスする場合を除いて、問題なく到着します。この場合、メールは件名付きで届きますが、本文は空白です。ただし、メッセージが Web メール クライアントを介して読み取られる場合、本文は問題なく表示されます。

他の誰かがこの問題に遭遇しましたか? CakePHP や電子メール ヘッダーに問題があるのでしょうか、それともホスティング会社に相談する必要がありますか? 私のコードは、CakePHP のドキュメントにある例に直接基づいています。

リクエスト データを受信して​​メールを送信するコントローラー アクションは次のとおりです。

function send() {
    if (!empty($this->data)) {
        $contact = $this->Contact->read(null, $this->data['ContactMessage']['contact_id']);
        $this->data['ContactMessage']['ip'] = $this->RequestHandler->getClientIp();
        $this->ContactMessage->create();
        if ($this->ContactMessage->save($this->data)) {
            $this->Email->to = $contact['Contact']['email'];
            $this->Email->subject = $this->data['ContactMessage']['subject'];
            $this->Email->replyTo = $this->data['ContactMessage']['email'];
            $this->Email->from = $this->data['ContactMessage']['email'];
            $this->Email->sendAs = 'both';
            $this->Email->send($this->data['ContactMessage']['message']);
            $this->redirect(array('controller' => 'contacts', 'action' => 'thanks'));
        } else {
            $this->redirect(array('controller' => 'contacts', 'action' => 'oops'));
        }
    }
}
4

1 に答える 1

1

問題は、 send() を使用して html/text メッセージの両方を送信できないことだと思います。基本的なテキスト メッセージを送信する send() にメッセージを渡すときに、html メッセージを送信する場合は、テンプレートにデータを設定する必要があります。

http://book.cakephp.org/view/269/Sending-a-basic-message#Controller-273

于 2009-09-25T02:04:15.187 に答える