遇到错误 无法使用 PHP mail() 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件

时间:2021-04-03 07:10:20

标签: php codeigniter email smtp gmail

我正在尝试通过 Gmail SMTP 使用 CodeIgniter 发送电子邮件,但该功能不起作用是在本地主机上向我显示此错误吗?

An Error Was Encountered Unable to send email using PHP mail(). 
Your server might not be configured to send mail using this method.

这里是我的电子邮件功能

$config = Array(
        'protocol' => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => 465,
        'smtp_user' => '******@gmail.com', // change it to yours
        'smtp_pass' => '**********', // change it to yours
        'mailtype' => 'html',
        'charset' => 'iso-8859-1',
        'wordwrap' => TRUE
    );

    $message = 'Test';
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");
    $this->email->from('*********@gmail.com'); // change it to yours
    $this->email->to('test@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());
    }

1 个答案:

答案 0 :(得分:1)

使用 PHP MAILER 或 SWIFT MAILER


现在这里是 PHPMAILER


try {
    //Server settings
    $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output
    $mail->isSMTP();                                            //Send using SMTP
    $mail->Host       = 'smtp.gmail.com';                     //Set the SMTP server to send through
    //$mail->Host = gethostbyname('smtp.gmail.com');
    $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
    $mail->Username   = 'sender@gmail.com';                     //SMTP username
    $mail->Password   = 'sender-password';                               //SMTP password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;         //Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged                                   //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
    $mail->Port       = 587;                                    //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above

    //Recipients
    $mail->setFrom('receiver1@gmail.com', 'Mailer');
    $mail->addAddress('receiver2@gmail.com', 'Dylan');     

    //Content
    $mail->isHTML(true);                                  //Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}

你可以用 composer 安装这些惊人的库

相关问题