因为另外一个网站的不稳定性,所以想在那边做一个通过email备份的页面,每次更新后可以把需要的文件email到指定邮箱,这样即使网站down了还能保证文件不丢失。然后通过google关键字“php 附件 email google”锁定了这个phpmailer的东东,感谢 http://phpwebgo.com/article/view/id/37.html 这篇博文,里面的东西起码让我早点了解如何使用,少走点弯路。
为了安全,在http://sourceforge.net/projects/phpmailer/上面下载源代码,似乎已经没人管了,因为源代码的最后更新日期是2009-11-11 。不管了,下载个5.1的版本到自己电脑先调试吧,找到有个gmail的例子,把需要更改的地方修改后,在自己电脑先测试了,结果提示SMTP Error:Could not connect to SMTP host ,再看看文章,发现是自己太急,不记得把php.ini里面的:
;extension=php_sockets.dll
;extension=php_openssl.dll
前面的分号去掉,释放注释。
去掉后以为好了,但一直提示:
SMTP -> ERROR: DATA not accepted from server:
SMTP Error: Data not accepted. Mailer Error: SMTP Error: Data not accepted.
修改过帐号、收信地址、邮件内容……等都不凑效,只能试试死马当活马医,把php文件上传到服务器再试了。
结果嘿嘿,第一次就成功了,只是多了几个提示:
Deprecated: Function eregi_replace() is deprecated
Deprecated: Function set_magic_quotes_runtime() is deprecated
Google的结果是,这两个函数已经老了,新版的php不支持,eregi_replace用str_replace替换,set_magic_quotes_runtime直接注释掉,再来一次,搞定!指定的Email信箱能收到正确邮件,html格式和附件都正常,可以准备投入使用了。
因为sample很简单,我就不贴出来凑字数了,放在附件里,感兴趣的就下载来看看吧,把需要更改的都更改了。
下面为源码下载:
PHPMailer_v5.1 (未修改过的源代码)
PHPMailer_v5.1(OCC) (删除其他例子,仅保留一个gmail例子,增加了部分中文注释,查看里面的test-gmail.php即可)