在BAE刚上线的那段黄金时间,不仅可以利用BAE提供的BCMS发送邮件,还可以发送短信,其中邮件可以任意指定发件人,你指定liyanhong@baidu.com都没有关系!短信也是免费的,随便发。那段日子里BAE真可谓是狂野的西部呀,不过现在BAE已经补上了这些漏洞。现在BAE不仅取消了短信,而且取消了发件人指定,就剩下了每个月9000条的邮件。其实光发邮件也没有什么意思,用smtp照样可以发。不过一般提供smtp的免费邮箱都有发送数量限制的,估计也没有9000封那么多吧。从这一点来看,BCMS似乎还是很大方的。
为了方便大家使用,我封装了一个简单的BCMS邮件函数:
/** * @param string $to * @param string $subject * @param string $message * @param string $bcms_queue * @param string $from * @return boolean * @tutorial BCMS邮件发送函数,最近BAE封掉了Bcms::FROM * @example mail_bcms("hankcs@test.com", "主题", "正文", "消息队列名", "hankcs@baidu.com"); */ function mail_bcms($to, $subject, $message, $bcms_queue, $from = '') { require_once 'Bcms.class.php'; $bcms = new Bcms(); $ret = $bcms->mail($bcms_queue, $message, array($to), array( Bcms::FROM => $from, Bcms::MAIL_SUBJECT => $subject )); if(false === $ret) { return false; } else { return true; } }
你需要先去http://developer.baidu.com/bae/bms/list/创建一个消息队列:
显示名称随便填,队列名称是系统生成的,很长一串。
Bcms.class.php是云平台内置的SDK,不需要你专门上传,用一句:
mail_bcms("hankcs@test.com", "主题", "正文", "队列名称", "hankcs@baidu.com");
就可以测试了,结果如图:
本来我指定了发件人是hankcs@baidu.com的,但是BCMS封掉了这项功能,将其替代为337XXXXX-noreply@duapp.com。
博主 请问您能写一个不在BAE上就能发百度云消息邮件的代码吗?就是输入列队名 秘钥就能发的PHP代码
这又何必呢,BAE邮件经常被识别为垃圾邮件。非BAE环境没有限制,有多种更好的方式发邮件。
博主大人 我就喜欢这个百度的 求您写一个 真心求 进垃圾箱也行 学习一下
bcms只能在BAE环境里用,这样好了,你在BAE上建一个应用用这段代码发邮件,然后在外面调用应用的URL+参数就行了。
好的 谢谢博主