php office365 发邮件,PHP smtp.office365.com用于电子邮件

标签:php

是否可以使PHP应用程序邮件与Office365集成在一起?

我已经尝试过,但发现此错误:

authentication failure [SMTP: SMTP server does not support authentication (code: 250, response: SINPR02CA025.outlook.office365.com Hello [17*.***.***.**] SIZE 78643200 PIPELINING DSN ENHANCEDSTATUSCODES STARTTLS 8BITMIME BINARYMIME CHUNKING)]

和到目前为止我的PHP代码:

$host = "smtp.office365.com";

$username = "me@company.com";

$password = "example";

$headers = array(

'From' => $from,

'To' => $to,

'Subject' => $subject,

'Content-Type' => 'text/html; charset=UTF-8'

);

$recipients = $to.", ".$bcc;

$smtp = Mail::factory('smtp',

array ('host' => $host,

'auth' => true,

'username' => $username,

'password' => $password));

$mail = $smtp->send($recipients, $headers, $body);

解决方法:

几点:

>格式为pod ####.outlook.com的电子邮件服务器名称是旧的

标准,虽然它们暂时仍在工作,

由通用smtp.office365.com取代.只是谷歌

“ office365 smtp设置”,您将看到很好的文档.

>您需要根据所找到的文档指定端口587

就像S. Varun所说的那样.

>虽然我还没有审查您的

详细代码,我怀疑您的问题是缺少SSL传输

正在加载.我将描述的修复基于FreeBSD,但是您

应该能够对其进行更改以在Windows上正常工作(有助于了解

您的环境):

>创建一个PHP文件,其中包含从PHP stream_get_transports() documentation借来的以下代码:

$xportlist = stream_get_transports();

的print_r($xportlist);

>当您在PHP中执行此文件时(需要存在PHP的命令行界面),如果看不到SSL,则说明您的问题-没有安全的传输

>安装PHP SSL模块(我使用FreeBSD中的端口,所以我转到security / php55-openssl并进行干净安装)

>重新启动Apache以确保新模块已加载(理想情况下是正常重启).

>现在,重新运行您的get_transports PHP代码,您应该会看到列出了SSL(除了原始协议外,我还获得了SSL,SSLv3,SSLv2,TLS)

>现在尝试您的电子邮件发送代码,它应该可以工作!

希望这可以帮助!

标签:php

来源: https://codeday.me/bug/20191012/1898883.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值