我正在为一个组织编写一个小型 CakePHP 应用程序,其中包含一个简单的联系表单,它接受电子邮件地址、主题和消息,并将消息通过电子邮件发送到该地址。
一切似乎都正常,发送给我自己或组织中任何人的任何电子邮件都可以正常到达,除非他们通过 POP 访问邮件,他们中的大多数人都会这样做。在这种情况下,电子邮件带有主题,但正文是空白的。但是,如果通过 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'));
}
}
}