无法在 codeigniter 中从 gmail 发送电子邮件,SMTP 身份验证错误

Posted

技术标签:

【中文标题】无法在 codeigniter 中从 gmail 发送电子邮件,SMTP 身份验证错误【英文标题】:Can't send email from gmail in codeigniter, SMTP Authentication error 【发布时间】:2013-11-24 11:05:39 【问题描述】:

我正在尝试在 codeigniter 中发送电子邮件,但出现了问题,我不知道如何修复它。 当我在本地主机中发送时它成功,但是当我将我的应用程序上传到主机时,它无法发送。这是我的代码

        $this->load->library('email');
        $config['protocol']    = 'smtp';
        $config['smtp_host']    = 'ssl://smtp.gmail.com';
        $config['smtp_port']    = '465';
        $config['smtp_timeout'] = '7';
        $config['smtp_user']    = 'username';
        $config['smtp_pass']    = '****';
        $config['charset']    = 'utf-8';
        $config['newline']    = "\r\n";
        $config['mailtype'] = 'html'; // or html
        $config['validation'] = TRUE; // bool whether to validate email or not 
        $this->email->initialize($config);

        $this->email->send();

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

这是我提交电子邮件时的错误

Failed to authenticate password. Error: 535 Incorrect authentication data 

*from: 250 OK
to: 550-Please turn on SMTP Authentication in your mail client, or login to the
550-IMAP/POP3 server before sending your message.  mb2d247.vdrs.net
550-(hanghieunara.com) [112.78.2.247]:51939 is not permitted to relay through
550 this server without authentication.*

The following SMTP error was encountered: 550-Please turn on SMTP Authentication in your mail client, or login to the 550-IMAP/POP3 server before sending your message.

mb2d247.vdrs.net 550-(hanghieunara.com) [112.78.2.247]:51939 is not permitted to relay through 550 this server without authentication. 

【问题讨论】:

可能重复***.com/a/10588040/1239506 ? 不,不是,我想是的 【参考方案1】:

如果您需要授予对站点的 SMTP 服务器(您的电子邮件地址)的访问权限,以便执行身份验证,请查看您的电子邮件帐户是否没有激活外部访问的 difinições 安全性。

【讨论】:

【参考方案2】:

使用 codeigniter 发送 smtp gmail 验证

1 - 确保您的 php 安装中的 openssl 是否已启用。

2- 此命令是脚本工作的基础:$this->email->set_newline("\r\n");

$config = 数组(

'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'gmail.login@googlemail.com',
'smtp_pass' => 'your_password',

);

$this->load->library('email', $config);

$this->email->set_newline("\r\n");

$this->email->from('gmail.login@googlemail.com', '你的名字');

$this->email->to('recipient@destination.tld');

$this->email->subject('CodeIgniter Rocks Socks');

$this->email->message('Hello World');

如果 (!$this->email->send())

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

其他

echo 'Your e-mail has been sent!'; 

完整解决方案链接:https://ellislab.com/forums/viewthread/84689/

【讨论】:

以上是关于无法在 codeigniter 中从 gmail 发送电子邮件,SMTP 身份验证错误的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 codeIgniter 从 gmail smtp 服务器发送电子邮件?

无法在 Codeigniter 中从模型获取查询结果到控制器

使用 Gmail 在 codeigniter 中通过电子邮件类发送电子邮件

在 C# 中从 Gmail 中读取电子邮件

Codeigniter 显示 GMail 的 OpenSSL 错误

在 CodeIgniter 中从数据库中获取下拉列表