BAE消息队列发送邮件BUG

 

 

BAE消息队列无法向三级域名的企业邮箱正常发送邮件,改为二级域名企业邮箱正常接收到了邮件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
/*
 * method POST
 * @param to 接收者邮箱(单个)
 * @param msg 消息
 * 2012-06-14
 * @author CplusHua
 * */
require_once 'Bcms.class.php';
$to=$_POST['to'];
$message=$_POST['msg'];
$address=Array(0=>$to);
$address=json_encode($address);
print_r($address);
require_once 'config.php';
function error_output ( $str )
{
	echo "\033[1;40;31m" . $str ."\033[0m" . "\n";
}
 
function right_output ( $str )
{
	echo "\033[1;40;32m" . $str ."\033[0m" . "\n";
}
function mail ( $queueName, $message, $address )
{
	global $accessKey, $secretKey, $host;
	$bcms = new Bcms ( $accessKey, $secretKey, $host ) ;
	$ret = $bcms->mail ( $queueName, $message, $address ) ;
	if ( false === $ret )
	{
		error_output ( 'WRONG, ' . __FUNCTION__ . ' ERROR!!!!!' ) ;
		error_output ( 'ERROR NUMBER: ' . $bcms->errno ( ) ) ;
		error_output ( 'ERROR MESSAGE: ' . $bcms->errmsg ( ) ) ;
		error_output ( 'REQUEST ID: ' . $bcms->getRequestId ( ) );
	}
	else
	{
		right_output ( 'SUCC, ' . __FUNCTION__ . ' OK!!!!!' ) ;
		right_output ( 'result: ' . print_r ( $ret, true ) ) ;
	}
}
mail($queueName, $message, $address);

百度云计算(BAE)全面公测,每周发放邀请码

 

 

邀请码发放地址:http://yun.developer.baidu.com/invitation

笔者昨晚一点正躺在床上看微博,看到百度开发者中心 的微博有发放邀请码的链接,赶紧查看,果然还剩下几个邀请码,我已经有了邀请码但是想给一个朋友申请一个,但当时已经是夜里两点,没办法给朋友打电话,所以就自己申请了一个帐号激活了开发者使用邀请码开通了BAE。

BAE邀请码会在以后的每周不定时发放,每次100枚,或许以后还会增多,还没有拿到邀请码的童鞋,赶快关注一下百度开发者中心的微博吧! 继续阅读“百度云计算(BAE)全面公测,每周发放邀请码”

百度云计算(BAE)试用体验

BAE-LOGO

今天心血来潮,想在BAE上搭建一个集成化公有API接口,将一些现有的比较常用的接口同时部署到BAE上,方便今后使用。于是想将SAE上一个写好的现有的接口搬到BAE上。接口是通过fsockopen实现的,但是经过反复不断的测试,总是报告服务器错误(500)。一开始以为是代码写的有问题,于是不断的找代码错误,折腾了好长时间发现没有了任何错误还是不行。同样的代码在SAE上可以,为什么到了BAE上就不行了呢?

         就在看似无解的时候,突然想到前几天曾尝试放一个探针到BAE上,发现无法正常工作。然后测试phpinfo()函数也不被许可,查看BAE封禁函数,发现phpinfo函数被封禁,所以考虑是不是fsockopen不被允许呢?于是找到BAE官方文档,在搜索框输入fsockopen找到了关于fsockopen的介绍(介绍地址Php提供的另一个网络访问函数是fsockopen,这个函数仅仅允许系统环境变量中的地址,对于不在地址中的请求都无法通过安全校验。于是明白了无法成功的原因。那究竟哪些地址被允许呢?于是找文档里关于服务器环境变量被允许的地址的描述,但是失望而归。那这样就没有办法了吗?想到用PHP自带的print_r打印一下环境变量($_ENV),但是却只输出了一个Array(),数组为空。经查询,没有输出的原因是在服务器php.ini中的设置中variables_order=”EGPCS”中未配置E(E表示Environment,G表示Get,P表示Post,C表示Cookies,S表示Server),则PHP无法接受环境变量,所以$_ENV输出为空。

至此,在BAE平台上搭建集成化API接口的计划落空。