-
解决mantis在百度应用引擎(BAE)下无法发送Email的问题
最近自己搭建在 BAE 下的mantis一直发送不了邮件,因为使用频率不高一直没在意。以为是因为最近Gmail在国内被墙造成的(mantis使用Gmail的smtp账号进行发送),昨天换了n多账号,改了n次mantis的配置文件,都无法发送。
发现问题不在账号,而是百度应用引擎(BAE)屏蔽了php的很多函数。造成phpmailer的smtp相关代码失效。
我的解决方案是在不改变mantis代码的基础上,使用cron任务,配合简单脚本,直接对mantis的email表进行处理。本来打算使用 BAE 的消息队列进行mail发送,经过简单测试,发现 BAE 的消息队列发送email会对email的内容进行关键词审核,造成大量了email发送失败。
没办法,最终在Sina App Engine搭建了个简单的脚本,接受外部post参数,使用seamail的quickSend进行邮件发送。
cron任务使用 BAE 的app.conf实现。具体代码:
crond : service : on crontab : - "*/1 * * * * php /home/bae/app/scripts/mail.php"发送邮件的部分代码:
-
使用cookie + WWW-Authenticate 的登录解决方案
之前使用过WWW-Authenticate验证的方式做过用户验证的相关功能,但仅限于个人使用后台,简单应用。在一个公司后台项目中,使用了WWW-Authenticate的验证方式,发现在退出的时候遇到些问题。
不能简单的更改
$_SERVER['PHP_AUTH_USER']及$_SERVER['PHP_AUTH_PW']变量。查了下线上的手册,根据网友的评论,找到了一种解决方案,是借助于$_COOKIE来实现的,分享这个class给大家。 -
关于AJAX跨域进行POST请求的一个新认识
今天进行代码review的过程中,看到了这样的一段js:
-
Goodbye Google Reader
Goodbye old friend! You will be missed…
-
在 php 5.2.x 下使用composer
团队使用的开发框架现在已经基于composer,并使用composer的classloader来进行文件的自动加载,但composer生成后的loader是需要在php 5.3以上才能运行。
为了加大框架的适应性,并可以不改变composer ClassLoader 的使用方式。修改了一下composer 的ClassLoader,适用于 php 5.2.x。
在调用 /vendor/autoload.php 的时候判断一下php版本,载入不同的autoload.php,编写自己的autoload.php进行 /vendor/composer/autoload_namespaces.php, /vendor/composer/autoload_classmap.php 两个文件的载入并返回修改过的loader对象。
下面是代码: