[英]E-mail sent via CakePHP shows up with blank message body when accessed via POP
我正在為組織編寫一個小型的CakePHP應用程序,其中包括一個簡單的聯系表單,該表單接受電子郵件地址,主題和消息,並將該消息通過電子郵件發送給該地址。
, which most of them do. 一切似乎都可以正常工作,發給自己或組織中任何人的任何電子郵件都可以正常發送, ,大多數情況下都是如此。 在這種情況下,電子郵件隨主題一起到達,但正文為空白。 但是,如果通過Webmail客戶端讀取消息,則正文顯示的很好。
還有其他人遇到這個問題嗎? 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'));
}
}
}
我認為問題是您不能使用send()來發送HTML /文本消息。 當您將消息傳遞給發送基本文本消息的send()時,如果要發送html消息,則必須將數據設置為模板。
http://book.cakephp.org/view/269/Sending-a-basic-message#Controller-273
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.