主机评测网,专注vps、独立服务器等主机评测
最专业的主机评测网站

在阿里云ACE上使用Cimy Swift SMTP插件发送邮件。

在阿里云ACE上使用Cimy Swift SMTP插件发送邮件。

WordPress不需要任何修改就可以运行在阿里云的ACE上。目前ACE免费、快速、稳定,种种优势吸引着广大WordPress用户。目前这个网站运行在ACE上,从自己的VPS迁移过来后,一切运行良好,除了不能发邮件。在它自己的VPS上,我一直使用Cimy Swift SMTP作为插件,通过SMTP发送邮件,但是到了阿里云上,一直提示:SMTP connect()失败。从字面上看,邮件服务器根本无法连接。

WordPress在ACE上发不了邮件的原因是阿里云后台发了一个工单,回复如下:

PHP应用使用http/https/smtp (curl/fsockopen)等协议,不设置代理:stream_socket_client中不能设置代理选项,建议替换为fsockpoint或者curl stream_socket_client函数中的参数$flags只能是STREAM_CLIENT_CONNECT,其中$context会被忽略;参数:$remote_socket,只能是tcp或者ssl协议,其他不支持;

从回复中可以看出,阿里云ACE是可以发邮件的,但是和我们平时发邮件的方式不一样。根据阿里云的建议,我们需要将插件中的stream_socket_client替换为fsockopen。既然可以替换,那么这两个功能的作用基本相似。

修改Cimy Swift SMTP插件,使其可以在阿里云ACE上发送邮件。搜索Cimy Swift SMTP插件的代码,原来有一个stream_socket_client函数,在Cimy-Swift-SMTP/Swift/lib/Classes/Swift/Transport/stream buffer . PHP的第263行:

$ this-& gt;_ stream = @ stream _ socket _ client($host。’:’.$ this-& gt;_params[‘port’],$errno,$errstr,$timeout,STREAM_CLIENT_CONNECT,STREAM _ context _ create($ options));我们只需要用下面一行代码替换这一行代码:

$ this-& gt;_stream = @fsockopen($host,$ this-& gt;_params[‘port’],$errno,$errstr,$ time out);保存,将SVN提交到版本库,等待一分钟左右,然后在应用重新部署后,从设置Cimy Swift SMTP插件的地方进行测试。我们会发现邮件很快就发出去了,然后测试评论回复,找回密码,就能很快找到邮件。

为了方便大家,我把修改后的插件直接打包了。这是下载链接。需要的朋友可以点击下面的按钮下载。

点击下载

要想更快,就得用ECS云服务器ACE的速度。对于日PV不到100的网站,速度足够了。如果网站流量比较大,ACE的速度跟不上。这时候根据自己的网站流量,可以直接购买阿里云ECS服务器,原本放在OSS和RDS上的数据不用移动,直接配置即可。

通过下面的链接购买阿里云ECS服务器可以获得15%的优惠券。

购买阿里云服务器

2015/05/19更新:王湾的虚拟主机也有和ACE一样的问题。我想知道他们是否使用相同的系统。经过测试,上述方法也可以用在王湾的虚拟主机上。

:在阿里云ACE上使用Cimy Swift SMTP插件发送邮件。 https://vps.caogenba.com.com/90431.html

赞(0) 打赏
未经允许不得转载:主机测评 » 在阿里云ACE上使用Cimy Swift SMTP插件发送邮件。

评论 抢沙发

登录

找回密码

注册