Php 我无法使用Codeigniter发送任何电子邮件

Php 我无法使用Codeigniter发送任何电子邮件,php,codeigniter,email,Php,Codeigniter,Email,我已经创建了一个控制器,并在控制器中创建了一个测试功能,以测试电子邮件是否已发送 我检查了不同的电子邮件地址,但没有成功。这是我的代码示例: public function sendmail() { $config['protocol'] = 'sendmail'; $config['mailpath'] = '/usr/sbin/sendmail'; $config['charset'] = 'iso-8859-1'; $config['wordwrap'] =

我已经创建了一个控制器,并在控制器中创建了一个测试功能,以测试电子邮件是否已发送

我检查了不同的电子邮件地址,但没有成功。这是我的代码示例:

public function sendmail() {
    $config['protocol'] = 'sendmail';
    $config['mailpath'] = '/usr/sbin/sendmail';
    $config['charset'] = 'iso-8859-1';
    $config['wordwrap'] = TRUE;
    $config['mailtype'] = 'html';
    $user_id = 1;
    $name = 'Mark Alan';
    $this->email->set_newline("\r\n");
    $this->email->from('info@domainname.com', "Test Name");
    $this->email->to('test@domainname.com');
    $this->email->subject('Test Mail');
    $this->email->message('This is a test message');
    $this->email->send();
    echo $this->email->print_debugger();    
}
使用Codeigniter(假设您已经自动加载了电子邮件库),您可以在一个名为email.php的配置文件中设置电子邮件首选项,然后从那里自动加载这些首选项。它可能看起来像:

// Setting Email Preferences 
$config['useragent'] = 'CodeIgniter';              // Mail engine switcher: 'CodeIgniter' or could be 'PHPMailer'
$config['protocol']  = 'smtp';                   // 'mail', 'sendmail', or 'smtp'
$config['mailpath']  = '/usr/sbin/sendmail';
或者像在您的示例中一样,您可以手动设置它们,但需要对其进行初始化,因此在定义$config[]数组后不要忘记这一行:

$this->email->initialize($config);
请尝试以下代码:

function sendMail()
{
    $config = Array(
        'protocol' => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com', //Your Host
        'smtp_port' => 465, // Add 25 port if you sending from your smtp mail server 
        'smtp_user' => 'xxx@gmail.com', // change it to yours, server email
        'smtp_pass' => 'xxx', // change it to yours
        'mailtype' => 'html',
        'charset' => 'iso-8859-1',
        'wordwrap' => TRUE
);

    $message = '';
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");
    $this->email->from('xxx@gmail.com'); // change it to yours
    $this->email->to('xxx@gmail.com');// change it to yours
    $this->email->subject('Resume from JobsBuddy for your Job posting');
    $this->email->message($message);
    if($this->email->send())
    {
        echo 'Email sent.';
    }
    else
    {
        show_error($this->email->print_debugger());
    }

}

注意:请添加您的smtp端口和smtp电子邮件帐户详细信息。

是否加载电子邮件库<代码>$this->load->library('email')您似乎忘记了
$this->email->initialize($config)您是在本地主机上测试它,还是在实时服务器上测试它cpanel@AbedPutra是的,我确实加载了library@shabirullah在live server上,我使用核心php通过使用mail()函数和接收电子邮件进行了测试,但通过codigniter我没有