无法使用codeigniter电子邮件类和yahoo邮件作为发件人接收邮件

时间:2014-09-08 01:31:25

标签: php codeigniter

我正在尝试创建一个“联系我们”表单,访问者可以通过该表单向网站所有者发送电子邮件。

到目前为止,如果填写表单的访问者使用gmail地址,我的表单就可以了。但是一旦他们使用雅虎电子邮件地址,收件人(网站所有者)就不会收到邮件

下面是我如何做表格

控制器

public function send_email(){
        $data = $_POST;
        $new = $this->base_model->send_email($data);
        $this->session->set_flashdata("email_status","Message successfully sent");
        redirect(base_url("contact"));
    }

模型

public function send_email($email_data)
    {
        $from = $email_data['email'];
        $subject = $email_data['subject'];

        $message = $this->load->view("emails/message",$email_data,TRUE);
        $config['crlf']    = "\n"; 

        $config['mailtype'] = "html";
        $config['protocol'] = "sendmail";

        $this->load->library('email');
        $this->email->initialize($config); 

        $this->email->from($from,$email_data['name']);
        $this->email->to("site owner email address goes here"); 

        $this->email->subject($subject);
        $this->email->message($message);    

        $this->email->send();

        return $this->email->print_debugger();

    }

视图

            <?php
                $attributes = array("id"=>"form_req");
                echo form_open("send_email",$attributes);
                ?>

                <div class="controls">
                    <label>Name</label>
                    <input type="text" name="name" class="span12 req">
                </div>

                <div class="controls">
                    <label>Email</label>
                    <input type="text" name="email" class="span12 req">
                </div>

                <div class="controls">
                    <label>Subject</label>
                    <input type="text" name="subject" class="span12 req">
                </div>

                <div class="controls">
                    <label>Message</label>
                    <textarea name="message" class="span12 req"></textarea>
                </div>

                <button class="btn"><i class="fa fa-send"></i> Send</button>
                <?php
                echo form_close();
                ?>

我错过了什么吗?或者有解决方法吗?

1 个答案:

答案 0 :(得分:1)

是否有任何理由要求电子邮件“来自”填写表单的电子邮件地址?我过去曾遇到过垃圾邮件过滤器问题,雅虎就是其中之一,垃圾邮件发送电子邮件的网站发送电子邮件的域名与电子邮件“来自”的电子邮件地址不符。我想有充分的理由。雅虎可能会在它到达普通的垃圾邮箱之前丢弃这种危险的“垃圾邮件”。

如果您绝对希望所有者能够直接回复该电子邮件,我会尝试将电子邮件始终发送到noreply@your-domain-here.com并添加对标题的回复。

编辑: 找到一个类似问题的旧问题,这表明更改电子邮件应解决它:Everytime my mail goes to spam in phpmailer