私は組織向けの小さな 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'));
}
}
}