当前位置: 首页 > 知识库问答 >
问题:

无法使用CodeIgniter的电子邮件库发送电子邮件

廖华翰
2023-03-14

我正在尝试使用CodeIgniter的电子邮件库发送电子邮件。这是我写的代码。

        $email_config = array(
            'protocol'  => 'smtp',
            'smtp_host' => ' ssl://smtp.gmail.com',
            'smtp_port' => '465',
            'smtp_user' => 'shamir.towsif@gmail.com',
            'smtp_pass' => '**********',
            'mailtype'  => 'html',
            'newline'   => "\r\n",
            'charset' => 'iso-8859-1',
            "wordwrap" => true
        );

    $this->CI->load->library('email', $email_config);
    $this->CI->email->from('shamir.towsif@gmail.com', 'invoice');
    $this->CI->email->to('shamir.towsif@gmail.com', "User");
    $this->CI->email->subject('Invoice');
    $this->CI->email->message('Test');
    $this->CI->email->send();
    echo $this->CI->email->print_debugger();

错误:这是我得到的错误。

遇到以下SMTP错误:0php_network_getaddresses:getaddrinfo失败:名称或服务未知无法发送数据:AUTH LOGIN发送AUTH LOGIN命令失败。错误:无法发送数据:邮件从:从:遇到以下SMTP错误:无法发送数据:RCPT TO:到:遇到以下SMTP错误:无法发送数据:数据数据:遇到以下SMTP错误:无法发送数据:用户-代理:CodeIgniter日期:太阳,21六月2015 05:52:56 0600来自:"发票"返回-路径:到:shamir.towsif@gmail.com主题:=?ISO-8859-1?Q?发票?=Reply-To:"shamir.towsif@gmail.com"X-Sender:shamir.towsif@gmail.comX-Mailer: CodeIgniter X-优先级: 3(正常)消息ID:

遇到以下SMTP错误:无法使用PHP SMTP发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。用户代理:CodeIgniter日期:Sun,2015年6月21日05:52:56 0600发件人:“发票”返回路径:收件人:shamir。towsif@gmail.com主题:=?iso-8859-1?Q?发票?=回复:“shamir。towsif@gmail.com“X-发送者:沙米尔。towsif@gmail.comX-Mailer:CodeIgniter X-Priority:3(正常)消息ID:

Content-Type:多部分/替代;边界="B_ALT_5585fcd8c643b"

这是MIME格式的多部分消息。您的电子邮件应用程序可能不支持此格式。

--B_ALT_5585fcd8c643b内容类型:文本/普通;字符集=iso-8859-1内容传输编码:8比特

测试

--B_ALT_5585fcd8c643b内容类型:text/html; charset=iso-8859-1内容传输编码:引用可打印

测试

--B_ALT_5585fcd8c643b--

问题:我以前能发电子邮件。然后我重新安装了我的操作系统和lamp服务器,现在我不能了。我做错了什么?

共有1个答案

别俊誉
2023-03-14

我在CI中使用sendmail发送电子邮件。在使用“发送邮件”之前,您必须在CI中进行一些配置。

首先,转到系统/库/Email.php并更改以下内容

class CI_Email {

  var   $useragent      = "CodeIgniter";
  var   $mailpath       = "/usr/sbin/sendmail"; // Sendmail path
  var   $protocol       = "sendmail";   // mail/sendmail/smtp
  var   $smtp_host      = "mail.blah-blah.com";     // SMTP Server.  


  .....
}

然后我做了一个发邮件的方法。

public function send_mail($email, $subject, $message){
        //$this->load->library( 'email' );
        $this->email->from( 'no-reply@blah-blah.com', 'blah-blah.com' );
        $this->email->to( $email);
        $this->email->subject( $subject );
        $this->email->message( $message );
        $this->email->send();

        echo $this->email->print_debugger();

    }

这就是全部。您现在可以使用send_mail方法发送电子邮件。

 类似资料:
  • 问题内容: 问题答案: $config = Array( ‘protocol’ => ‘smtp’, ‘smtp_host’ => 'ssl://smtp.googlemail.com’, ‘smtp_port’ => 465, ‘smtp_user’ => ‘xxx’, ‘smtp_pass’ => ‘xxx’, ‘mailtype’ => ‘html’, ‘charset’ => ‘iso-8

  • 问题内容: 我正在使用Apache Commons电子邮件库发送电子邮件,但无法通过GMail SMTP服务器发送电子邮件。 任何人都可以提供适用于GMail SMTP服务器和其他服务器的示例代码吗? 我正在使用以下无效的代码: 问题答案: 将电子邮件发送到GMail SMTP服务器需要身份验证和SSL。用户名和密码非常简单。确保设置了以下属性以启用身份验证和SSL,并且该属性应该可以正常工作。

  • responseerror:禁止在d:\node-projects\ecom\node_modules@sendgrid\client\src\类\client.js:146:29在processTicksAndRejections(internal/process/task_queues.js:93:5){ 代码:403,response:{headers:{server:'nginx',dat

  • 我的: 但是邮件不会发送到该地址,在控制台中,当我单击时,正在打印,但它不会发送任何电子邮件。 我用的是Django 1.3.7和Python 2.6。 不知道是版本的问题还是什么逻辑问题。

  • 问题内容: 我正在使用sendgrid发送电子邮件,并且使用以下代码可以正常工作,但没有附件。 但是我需要发送附件,因此我搜索了github源和Web文档API,由于某种原因,没有javadocs,但是有一个示例GitHub sendgrid, 所以我一直在尝试直到它起作用为止,我缩小了一些异常和响应代码,起初我是被禁止的未经授权,最好是响应202,表示有效且已排队(在此处检查),这是我的代码发送

  • 我得到下面提到的错误。我将mail.jar、activation.jar、mailapi.jar、common-lang3.jar复制到/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext