【问题标题】:An Error Was Encountered Unable to send email using PHP mail(). Your server might not be configured to send mail using this method遇到错误无法使用 PHP mail() 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件
【发布时间】:2021-06-29 20:57:53
【问题描述】:

我正在尝试通过 Gmail SMTP 使用 CodeIgniter 发送电子邮件,但该功能无法正常工作,它在 localhost 上显示此错误?

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());
    }

【问题讨论】:

  • 大部分主机管理员,阻止mail()功能,你可以试试smtp之类的东西
  • @AKiani 但我必须在不同的 Codeigniter 应用程序上尝试相同的代码,它工作正常吗?

标签: php codeigniter email smtp gmail


【解决方案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 安装这些神奇的库

【讨论】:

    猜你喜欢
    • 2018-10-15
    • 2017-12-28
    • 2019-02-23
    • 2022-01-05
    • 2018-11-29
    • 2018-06-07
    • 2016-11-18
    • 2019-06-27
    相关资源
    最近更新 更多