发送 AUTH LOGIN 命令失败。错误:无法使用 PHP SMTP 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件
Posted
技术标签:
【中文标题】发送 AUTH LOGIN 命令失败。错误:无法使用 PHP SMTP 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件【英文标题】:Failed to send AUTH LOGIN command. Error: Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method 【发布时间】:2018-06-07 06:24:22 【问题描述】:我正在尝试使用 php Code-Igniter 从 Office 365 发送电子邮件。 但我遇到了一个错误:
220 MAXPR0101CA0041.outlook.office365.com Microsoft ESMTP 邮件服务 准备在 2017 年 12 月 26 日星期二 11:17:56 +0000
你好:250-MAXPR0101CA0041.outlook.office365.com 你好 [115.96.169.89]
250 尺寸 157286400
250-流水线
250-DSN
250-增强状态代码
250-STARTTLS
250-8BITMIME
250-BINARYMIME
250 分块
250 SMTPUTF8
发送 AUTH LOGIN 命令失败。错误:504 5.7.4 无法识别 认证类型 [MAXPR0101CA0041.INDPRD01.PROD.OUTLOOK.COM]
无法使用 PHP SMTP 发送电子邮件。您的服务器可能不是 配置为使用此方法发送邮件。
日期:2017 年 12 月 26 日星期二 12:17:56 +0100
发件人:
返回路径:
收件人:myemail@mydomain.com
主题:=?UTF-8?Q?Test=20Email?=
回复:
用户代理:CodeIgniter
X 发件人:myemail@mydomain.com
X-Mailer: CodeIgniter
X 优先级:3(正常)
消息 ID:
Mime 版本:1.0
内容类型:多部分/替代;边界="B_ALT_5a422fe4307e9"
这是一个 MIME 格式的多部分消息。您的电子邮件应用程序 可能不支持这种格式。
--B_ALT_5a422fe4307e9 内容类型:文本/纯文本; charset=UTF-8 内容传输编码:8bit
SMTP 发送测试邮件,完成...
--B_ALT_5a422fe4307e9 内容类型:text/html; charset=UTF-8 Content-Transfer-Encoding:quoted-printable
SMTP 发送测试邮件,完成...
--B_ALT_5a422fe4307e9--
这是我的控制器代码:
public function emailSend()
# code...
/*
Minimun test code for successful email sending over SMTP with Office 365
Things to double-check:
- openssl php extension must be enabled in the server
- host set to smtp.office365.com, not the old aliases
- Port 587
- newline configuration: explicit to "\r\n"
*/
//In your Controller code:
$this->load->library('email');
//$config = [
$config['protocol']= 'smtp';
$config['mailpath']= "/usr/lib/sendmail";
$config['smtp_port']= 587;
$config['smtp_timeout'] = '7';
$config['smtp_host']= 'smtp-mail.outlook.com';
$config['smtp_user']= 'myemail@mydomain.com';
$config['smtp_pass']= '*********';
$config['smtp_crypto']= 'STARTTLS';
$config['newline']= "\r\n"; //REQUIRED! Notice the double quotes!
$config['crlf']= "\r\n";
$config['mailtype'] = 'html';
//];
$this->email->initialize($config);
$this->email->from('myemail@mydomain.com');
$this->email->to('myemail@mydomain.com');
$this->email->subject('Test Email');
$this->email->message('SMTP sending test email, Done...');
$sent = $this->email->send();
if ($sent)
echo 'OK';
else
echo $this->email->print_debugger();
我检查了很多链接和问题,但没有成功。我没有得到代码中的确切错误。
注意: 我试过了
$config['smtp_port']= 465;
$config['smtp_crypto']= 'TLS';
$config['smtp_crypto']= 'SSL';
欢迎任何形式的帮助,在此先感谢。
【问题讨论】:
你找到解决办法了吗??我有同样的问题 @Sana Riaz:我已经在实时服务器上上传了脚本,它正在服务器上运行。 好的,你知道如何在 wamp localhost 上解决这个问题吗?? @SanaRiaz 参考此链接:***.com/questions/22396721/… 你也可以尝试增加 smtp timeout$config['smtp_timeout'] = '30'
【参考方案1】:
有类似的问题,我的解决方案正在改变,
$config['protocol'] = "smtp";
到:
$config['protocol'] = "sendmail";
【讨论】:
以上是关于发送 AUTH LOGIN 命令失败。错误:无法使用 PHP SMTP 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件的主要内容,如果未能解决你的问题,请参考以下文章
login auth failed errormsg :http request params error啥意思
Gmail SMTP,客户端-> 服务器:AUTH XOAUTH2,SMTP 错误:AUTH 命令失败:334