使用google mail smtp时如何获得退回邮件的响应(smtp.googlemail.com)

时间:2017-07-27 06:42:24

标签: php codeigniter email smtp

我正在制作时事通讯。我有大量的 1200封电子邮件,但未经过验证。我在 codeigniter 框架中使用google mail smtp进行验证。邮件正在正常发送,但当我测试错误的电子邮件时,它也显示发送邮件状态。我想询问在使用google mail smtp时如何获得退回邮件的响应。

$check包含一系列电子邮件:

 $config = Array(
            'protocol' => 'smtp',
            'smtp_host' => 'ssl://smtp.googlemail.com',
            'smtp_port' => '465',
            'smtp_user' => 'mymail@gmail.com',
            'smtp_pass' => 'mypass',
            'mailtype'  => 'html', 
            'charset'   => 'iso-8859-1',
            'send_multipart' => FALSE
        );
        $this->email->initialize($config);  
        $this->load->library('email', $config);

        foreach($_POST['chk'] as $check) 
        {
                    $this->email->clear();
                    $data = array(
                     'userName'=> 'Myname'
                         );
                   $this->email->set_newline("\r\n");   
                   $this->load->library('email',$config);




                   $this->email->from("mymail@gmail.com","Myname");

                    //echo $row->email;
                    $this->email->to($check);
                    $this->email->subject("THIS IS AN EMAIL TEST");
                    $gett = $this->load->view('home_test.php',$data,TRUE);
                    $this->email->message($gett);  
                    $this->email->set_mailtype("html");
                    if($this->email->send())
                    {
                        echo "Your Mail send";
                    }
                    else
                    {
                        show_error($this->email->print_debugger());
                        exit();
                    }
        }

如果我提供虚假的电子邮件ID,它始终显示您的邮件发送。如何在 PHP 中跟踪此退回的邮件。

1 个答案:

答案 0 :(得分:0)

发送后,您不会立即获得退回电子邮件的状态。您可以做的是,将返回路径电子邮件指定为$this->email->from("mymail@gmail.com","Myname");的第三个参数。

更改此行

$this->email->from("mymail@gmail.com","Myname");

$this->email->from("mymail@gmail.com","Myname", 'yourreturnemail@gmail.com');

有关详细信息,请参阅codigniter的电子邮件文档here

这样,所有退回的电子邮件都会转到返回路径的电子邮件地址。然后,您可以创建一个cron或其他东西来阅读和解析这些电子邮件。可以安装php imap extension并用于读取电子邮件退回状态。