首页 > 解决方案 > 邮件未在 Codeigniter、smtp 设置中发送

问题描述

我无法在 Codeigniter 中使用 smtp 发送邮件。

收到错误:

您好:遇到以下 SMTP 错误:无法使用 PHP SMTP 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

/*
| -------------------------------------------------------------------
| SMTP EMAIL DETAILS
| -------------------------------------------------------------------
| This file contains an array of smtp email settings.It is used by send emails functions.
|
*/

$config['email'] = Array(
'protocol' => 'smtp',
'smtp_host' => 'email-smtp.us-east-1.amazonaws.com',
'smtp_port' => '465',
'smtp_timeout' => '30',
'smtp_user' => 'my user name',
'smtp_pass' => 'my password',
'charset' => 'utf-8',
'wordwrap' => TRUE,
'mailtype' => 'html',
'newline' => "\r\n",
'validation' => TRUE
);

?>

mail.php 文件,这有什么问题?

标签: phpcodeigniteremailsmtp

解决方案


  $config = Array(
        'protocol'  => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',

        'smtp_port' => '465',
        'smtp_user' => 'test@gmail.com',
        'smtp_pass' => 'testpass',
        'mailtype'  => 'html',
        'charset'   => 'iso-8859-1',
        'wordwrap'  => TRUE
    );

   //Load email library
    $this->load->library('email', $config);


    $this->email->from('yusufgenius03@gmail.com', 'admin');
    $this->email->to('user@gmail.com');

    $this->email->subject('Email Test');
    $message = $this->email->message('testing email message');
    $this->email->set_newline("\r\n");  

   if($this->email->send()){
    $this->session->set_flashdata("email_sent","Kindly check your email to reset your password.");
         redirect('users/resetp');
   }else{
    echo $this->email->print_debugger();
   }

}

推荐阅读