电子邮件无法在Codeigniter中工作

时间:2013-12-26 06:43:50

标签: php codeigniter email

我正在使用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();

2 个答案:

答案 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()进行调试