位置: 编程技术 - 正文
推荐整理分享phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法(php_imagick),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php',php-screw,php_enhanced_zh.chm,php-screw,php register_globals,php register_globals,php -r,php register_globals,内容如对您有帮助,希望把文章链接给更多的朋友!
本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法。分享给大家供大家参考,具体如下:
一般来说,只要你使用的不是gmail邮箱,那么利用phplist发送邮件只要按照前面《PHP的邮件群发系统phplist配置方法详细总结》配置就够了。但若你如同我一样不幸,必须使用gmail这种有ssl验证的邮箱,那么恭喜你,我的不幸现在已然成为你的幸运,经过数天的尝试,我终于成功将gmail与phplist组合在了一起。现将经验分享于此,希望对各位同我一般境遇的同志有用。另外,phplist的核心是phpmailer,我提出的解决方案也主要是围绕phpmailer的,所以需要使用phpmailer通过gmail发送邮件而不能成功者也可以参考我的方法。
首先按照《PHP的邮件群发系统phplist配置方法详细总结》中的配置方法通过gmail发送邮件,在发送测试邮件时phplist会报告发送邮件失败,在事件日志(eventlog)里会有错误提示“Mailer Error: The following From address failed:...”,说是发件人地址存在问题。难道是已经连上smtp服务器,但是发送邮件过程中存在问题吗?可以用一个方法试验一下到底连没连上smtp服务器:我把config.php文件中的邮箱帐户密码故意填错,结果发送测试邮件时仍然报同样的错误,看来是根本就没连上smtp服务器,这phplist的错误报告也太……
知道是没连上smtp服务器那就说明问题出现在phplist发送邮件的核心——另一款著名开源软件phpmailer。
上网查了一下phpmailer发送gmail邮件的资料,发现人们说旧版本的phpmailer不支持ssl验证,不能连接gmail的smtp服务器,而此问题已在新版的phpmailer中解决了。
打开lists/admin/phpmailer/ChangeLog.txt,发现最新版的phplist自带的phpmailer的版本是1.,是年出的,确实不算新。于是上phpmailer的官网下了个最新的5.1的。
我想先研究一下新版的phpmailer是如何解决ssl验证的问题的,于是看了一下其自带的一些说明文档,碰巧发现在PHPMailer_v5.1/docs下有一个use_gmail.txt,看来是官方比较重视gmail问题,专门出了一个demo供人参考。打开一看也确实是一个完整的php页面文件,基本上修改了文件扩展名、邮箱用户名和密码就能使用,但如果仅仅如此修改,在访问该测试页面时会报错,也不知官方出的demo怎么会有这样的错误,居然会调用一个未定义的函数,而且有一些没有必要的成分。我们只不过想先测试一下能否正常发送邮件,所以我将其修改为:
结果发现访问此页面时仍然报错,真是令人无奈,官方给的demo怎么会无法运行?
这时我忽然想起PHPMailer_v5.1/docs下有一个名为Note_for_SMTP_debugging.txt的文件,现在我不正是在为连不上smtp服务器而烦恼吗,不妨看一下里面提供的调试方法。
打开文件看完第一行就眼前一亮,这正是我所需要的!其实使用方法也很简单,只要在
前插入
便可在报错同时得到更见详细的错误信息。真是好东西^_^
按照这样修改完后,我在访问页面时得到了更加详细的说明——“SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP ()”。
原来如此,于是我打开了我的php配置文件(
PHP记录页面停留时间的方法 本文实例讲述了PHP记录页面停留时间的方法。分享给大家供大家参考,具体如下:首先在要监控的页面添加JS如下scriptvardt1=newDate();window.onbeforeunload=functi
PHP获取网页所有连接的方法(附demo源码下载) 本文实例讲述了PHP获取网页所有连接的方法。分享给大家供大家参考,具体如下:functiongetHtml($url,$charset='utf-8'){$curl=curl_init();//curl_setopt($curl,CURLOPT_HTTPHEA
PHP格式化MYSQL返回float类型的方法 本文实例讲述了PHP格式化MYSQL返回float类型的方法。分享给大家供大家参考,具体如下:PHP中获取mysql的float字段,echo输出后,小数部分为包含多个0.可使
标签: php_imagick
本文链接地址:https://www.jiuchutong.com/biancheng/293320.html 转载请保留说明!友情链接: 武汉网站建设