Php CodeIgniter 2.1.4版无法通过office 365的smtp发送电子邮件

Php CodeIgniter 2.1.4版无法通过office 365的smtp发送电子邮件,php,codeigniter,email,Php,Codeigniter,Email,我正在尝试使用CodeIgniter版本2.1.4使用office 365的SMTP服务器发送电子邮件。我知道登录是正确的。下面是我的配置+调试器输出 application/config/email.php <?php $config['protocol'] = 'smtp'; $config['smtp_host'] = 'tls://smtp.office365.com'; $config['smtp_user'] = 'test@host.com'; $config

我正在尝试使用CodeIgniter版本2.1.4使用office 365的SMTP服务器发送电子邮件。我知道登录是正确的。下面是我的配置+调试器输出

application/config/email.php

<?php
  $config['protocol'] = 'smtp';
  $config['smtp_host'] = 'tls://smtp.office365.com';
  $config['smtp_user'] = 'test@host.com';
  $config['smtp_pass'] = 'PASSWORD';
  $config['smtp_port'] = '587';
  $config['charset']='utf-8';
  $config['newline']="\r\n";
  $config['crlf'] = "\r\n";
  ?>

电子邮件调试器错误:

The following SMTP error was encountered: 0 
Unable to send data: AUTH LOGIN
Failed to send AUTH LOGIN command. Error: 
Unable to send data: MAIL FROM:
from: 
The following SMTP error was encountered: 
Unable to send data: RCPT TO:
to: 
The following SMTP error was encountered: 
Unable to send data: DATA
data: 
The following SMTP error was encountered: 
Unable to send data: User-Agent: CodeIgniter Date: Mon, 6 Apr 2015 12:19:52 -0400 From: "PHP Point Of Sale, LLC" Return-Path: To: me@chrismuench.com Subject: =?utf-8?Q?Sales_Receipt?= Reply-To: "no-reply@phppointofsale.com" X-Sender: no-reply@phppointofsale.com X-Mailer: CodeIgniter X-Priority: 3 (Normal) Message-ID: <5522b228bf496@phppointofsale.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="B_ALT_5522b228bf4b9" This is a multi-part message in MIME format. Your email application may not support this format. --B_ALT_5522b228bf4b9 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit PHP Point Of Sale, LLC 123 Nowhere street 555-555-5555 Sales Receipt 04/06/2015 12:19 pm Customer: Chris Muench - Apple - 3333 Address : 6 Heron Way N Fairport NY, 14450-3318United States Phone Number : testE-Mail : me@chrismuench.comSale ID: POS 9 Register Name: Default Employee: John Doe Item Price Qty. Total TEST (Size) $12.00 1 $12.00   Sub Total $12.00 Total $12.00   Payment Type Cash $12.00   Change Due $0.00 Change return policy --B_ALT_5522b228bf4b9 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
遇到以下SMTP错误:0 无法发送数据:身份验证登录 无法发送AUTH LOGIN命令。错误: 无法发送数据:邮件发件人: 发件人: 遇到以下SMTP错误: 无法将数据:RCPT发送到: 致: 遇到以下SMTP错误: 无法发送数据:数据 数据: 遇到以下SMTP错误: 无法发送数据:用户代理:CodeIgniter日期:2015年4月6日星期一12:19:52-0400发件人:“PHP销售点有限责任公司”返回路径:收件人:me@chrismuench.com主题:=?utf-8?Q?销售收据?=回复:“否-reply@phppointofsale.com“X-Sender:没有-reply@phppointofsale.comX-Mailer:CodeIgniter X-Priority:3(正常)消息ID:Mime版本:1.0内容类型:多部分/可选;boundary=“B_ALT_5522b228bf4b9”这是MIME格式的多部分消息。您的电子邮件应用程序可能不支持此格式--B_ALT_5522b228bf4b9内容类型:文本/普通;charset=utf-8内容传输编码:8bit PHP销售点,LLC 123 Nowhere street 555-555-5555销售收据2015年6月4日下午12:19客户:Chris Muench-苹果-3333地址:纽约费尔波特Heron Way 6号,14450-3318美国电话号码:testE邮件:me@chrismuench.comSaleID:POS 9注册名称:默认员工:John Doe物料价格数量。总测试(大小)$12.00 1$12.00小计$12.00总计$12.00付款类型现金$12.00到期变更$0.00变更返回策略--B_ALT_5522b228bf4b9内容类型:文本/html;charset=utf-8内容传输编码:引用可打印
虽然在

有一个名为
smtp\u crypto
的配置项,您可以在系统库中的
Email.php
类中找到它。 在您的情况下,需要将其设置为
tls

所以你的配置变成了

$config['smtp_crypto']= 'tls'; 
$config['smtp_host'] = 'smtp.office365.com';

您应该升级到Codeigniter 3.0最新版本。我不确定CI电子邮件库是否支持(TLS | SSL)连接要求。您可能需要一个可以处理这些传输类型的库@不幸的是,mustang83 CI 3刚刚问世,需要大量的代码更改才能正常工作。我正在寻找CI 2修复程序。如果通过控制器代码确认,是否将配置设置
$config['smtp\u crypto']
初始化为
tls
$config['smtp\u host']='smtp.office365.com'可能有效。