微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在尝试通过 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());
    }

解决方法

使用 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 安装这些惊人的库

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。