无法使用Codeigniter发送SMTP电子邮件

时间:2020-06-08 08:00:22

标签: codeigniter

我的codeigniter框架不会通过smtp发送电子邮件。我总是返回一个错误,他无法通过此服务器上的php通过smtp发送my。如果我通过复制和过去检查我的用户名,主机和密码来使用Web客户端登录到邮箱,​​那么它将起作用。所以我使用正确的主机,用户名和密码。

我认为我设置错误,但是我不知道什么。

那是email_helper

$config['mailpath']             = "/usr/bin/sendmail"; // or "/usr/sbin/sendmail"

        $config['protocol']             = "smtp";

        $config['smtp_host']            = $settings['smtp_host']; (smtp.domain.com)

        $config['smtp_port']            = $settings['smtp_port']; (465)

        $config['smtp_timeout']         = '30';

        $config['smtp_user']            = $settings['smtp_user']; (email = user)

        $config['smtp_pass']            = $settings['smtp_pass']; (my password)

        $config['mailtype']             = 'html';

        $config['charset']              = 'utf-8';

        $config['newline']              = "\r\n";

        $config['wordwrap']             = TRUE;

        $controller->load->library('email');

        $controller->email->initialize($config);   

        $controller->email->from( $settings['email_from'] , $settings['application_name'] );

        $controller->email->to($to);

        $controller->email->subject($subject);

        $controller->email->message($body);

        if($cc != '') 
        {   
            $controller->email->cc($cc);
        }   

        if($attachment != '')
        {

            $controller->email->attach(base_url()."your_file_path/" .$attachment);

        }

        if($controller->email->send()){

            return "success";

        }
        else
        {
            echo $controller->email->print_debugger();
        }
    }

我也从$ settings数组中检查了正确的值。

要发送电子邮件,我以这种方式进行 $ this-> mailer-> mail_template($ to,'forget-password',$ mail_data);

1 个答案:

答案 0 :(得分:0)

添加ssl信息即可解决问题

$config['smtp_crypto']          = 'ssl';