我试图通过codeigniter框架通过两种不同的方式发送电子邮件,其中一个我的电子邮件转到垃圾文件夹,但它真的很奇怪......
所以我的第一次尝试是创建一个Controller并在索引函数中放入以下代码:
$this->load->library('email');
$this->email->from('no-reply@domain.example.com', 'Your Name');
$this->email->to('email@example.com');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
$this->email->send();
echo $this->email->print_debugger();
这样,电子邮件就可以了,而不是垃圾邮件...
当我创建一个模型,以便我以后可以使用它来发送电子邮件的其他功能我用以下代码替换上面的代码:
$this->load->library('email');
$this->load->model("email_model");
$this->email_model->sendEmail(null, 'email@gmail.com', 'title', 'message');
和email_model Model包含以下代码:
<?php
class email_model extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
public function sendEmail($from = null, $to = null, $subject = null, $message = null){
$this->email->from('no-reply@domain.com', 'from user');
$this->email->to($to);
$this->email->subject($subject);
$this->email->message($message);
$this->email->send();
}
}
为什么会这样?
答案 0 :(得分:1)
检查你的spf记录和RDNS记录
这是一篇文章@ mediatemple kb:http://kb.mediatemple.net/questions/658/How+can+I+create+an+SPF+record+for+my+domain%3F#gs
这是一篇关于RDNS的文章: http://www.crucialp.com/resources/tutorials/web-hosting/how-reverse-dns-works-rdns.php
答案 1 :(得分:0)
似乎内容是第二次尝试的原因...添加更多文字解决了问题......