0

这是我的代码:-

//Sending mail
if ($this->Session->read('Enrollment.personalinfo_language') == 'English') {
    $language = "english";
    $subject = "Thank you for submitting your enrollment request to Apna Energy.";
} else {
    $language = "spanish";
    $subject = "Gracias por enviar su solicitud de inscripci?n a Apna Energy.";
}
$details = $this->Session->read('Enrollment');
$details['plan_name'] = $product['Product']['name'];
$details['rate'] = $plan_rate;
$details['term'] = $product['Term']['term'];
$this->Email->sendAs = 'html';
$this->Email->from = 'Apna Energy <contact@apnaenergy.com>';
$this->Email->to = $this->Session->read('Enrollment.personalinfo_first_name') . ' ' . $this->Session->read('Enrollment.personalinfo_last_name') . '<' . $this->Session->read('Enrollment.personalinfo_email') . '>';
$this->Email->bcc = array('my@mail.com');
$this->Email->subject = $subject;
$this->set('details', $details);
if ($this->Session->read('Enrollment.personalinfo_language') == 'English') {
    $template = "enrollment_confirmation";
} else {
    $template = "enrollment_confirmation";
}
$this->Email->template = $template;
$this->Email->send();

我的问题是,如果客户填写表格,他们在他/她的垃圾邮件文件夹中接收邮件.. 客户在“to”中的邮件 id .. 以及我在“BCC”中的邮件 id 邮件在我的收件箱文件夹中正常。

我关注了两个 URL,但它们对我没有用..

Cakephp 电子邮件变成垃圾邮件

如何确保以编程方式发送的电子邮件不会自动标记为垃圾邮件?

引导我朝着正确的方向前进。谢谢!

4

1 回答 1

1

通过使用 SMTP

使用普通 PHP,您的服务器必须正确配置,这对于初学者来说并不容易(MX 记录需要匹配服务器 ip 等)。因此,只要始终坚持使用 SMTP 作为邮件网关,就可以了。

PS:我不认为它与你的代码有任何关系,虽然它不是很漂亮。例如:您应该转换从会话中读取的数组以避免引发通知:

$details = (array)$this->Session->read('Enrollment');
于 2012-06-05T09:33:10.070 回答