安装在百度BAE上的原版wordpress是没法发邮件的,即使使用SMTP之类的插件也不行,只能使用BAE的“消息服务”来发邮件,发送地址是bms-noreply@baidu.com,下面就来介绍BAE上的原版wordpress发邮件方法:
(1)登入百度开发者中心,依次点击“管理中心”“我的云服务”“消息服务”“创建消息队列”,勾选“单模式”,“显示名称”输入英文的,点击“确定”,然后提示“系统创建的队列名称为:************************”,复制一下。注意这里是队列名称,不是显示名称!
(2)在wp-config.php文件中添加如下代码(后面的名称改成你自己的):
define('BCMS_QUEUE','************************');
(3)修改\wp-includes\pluggable.php文件,查找如下代码:
if(!function_exists('wp_mail')):
在它的上一行添加如下代码:
/** * BAE Send Mail * BCMS */if(!function_exists('wp_mail')):functionwp_mail($to,$subject,$message,$headers='',$attachments=array()){require_once ABSPATH . WPINC .'/Bcms.class.php';$bcms=newBcms();$ret=$bcms->mail( BCMS_QUEUE,$message,array($to),array( Bcms::MAIL_SUBJECT =>$subject));if( false ===$ret){return false;}else{return true;}}endif;
(4)下载文件,解压得到“Bcms.class.php”文件和“lib”文件夹,放入wp-includes目录下。已经完成,BAE上原版wordpress可以发邮件了。
不过发出去的邮件html代码没有被解析,很难看,要解决这个问题,请参考完美解决BAE发邮件HTML不被解析。