我正在使用codeigniter预订应用。我被困在从localhost发送的电子邮件中。 我正在使用gmail smtp发送电子邮件。我使用email / booking_email.php视图文件作为电子邮件模板。但是,当我在localhost中运行包含电子邮件发送脚本的网页时,它会继续加载,但不会发送电子邮件。
$email = "atomambition@gmail.com";
$name = "Wiyo HK";
$email_config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'atomambition@gmail.com',
'smtp_pass' => '********',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->load->library('email', $email_config);
$this->email->from($email, $name);
$this->email->to($this->bookings_class->get_email());
$this->email->reply_to($email, $name);
$subject = 'This is Booking email from Wiyo HK';
$this->email->subject($subject);
$data = array('customer_name' => 'Avash Poudel');
$message = $this->load->view('email/booking_email', $data, TRUE);
$this->email->message($message);
echo $result = $this->email->send();
答案 0 :(得分:1)
除非已配置,否则Localhost不支持直接发送电子邮件。
在localhost中,它不会像这样工作。用于测试localhost上的mail()
协议和服务器上的smtp
。
答案 1 :(得分:0)
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
在$ email_config中添加此内容。
之后你需要初始化你的配置数组。
所以写下这个$this->email->initialize($email_config);
还可以使用$this->email->print_debugger()
进行调试