这几天想搞一个“基于Web的电子邮件服务系统”(《PHPand MySQL Web开发》的项目),一切都还顺利,但到了“连接账户并读取邮件”时停了下,接着是各种报错,google了6个多小时后,总算可以读取我gmail上的邮件了,但还是没有办法读取本地账户邮件。
要读取邮件我们需要一个IMAP函数imap_open()
在php manual上是解释是:
imap_open — Openan IMAP stream to a mailbox.
Opens an IMAPstream to a mailbox.
This functioncan also be used to open streams to POP3 and NNTP servers, but some functionsand features are only available on IMAP servers
详细:http://php.net/manual/en/function.imap-open.php
我在这里选择用imap方法。
连接到gmail服务器域名为:iamp.gamil.com
端口选用:993
Flags:为/imap/ssl
$username:你的账户名,可以是@之前的,或完整的gmail邮箱
$password:你的gmail登录密码
在google时发现flags有各种各样的问题,总之就是不能阅读到内容。为了能够获取这些错误网上给出了这样的方法:
$inbox =imap_open($hostname,$username,$password,NULL,1) or die('Cannot connect toGmail: .imap_last_error()' );
但imap_last_error()不能列出错误的清单。更好的方法是imap_errors()并将错误打印出来。
$inbox =imap_open($hostname,$username,NULL,1) ordie('Cannot connect to Gmail: ' . print_r(imap_errors()));
捣鼓快一天了,还有很多问题没有解决:
1.使用pop3协议连接gmail时,出现错误为Array( [0] => Can't open mailbox {pop.gmail.com:995/pop3/ssl/novalidate-cert: invalid remote specification
2.连接本地主机账户时,无论是用imap还是pop3都无法读取
imap错误为:Array( [0] => Can't connect to 127.0.0.1,143: Refused),为什么会被Refused?是域名还是账号不对?
pop3:Array( [0] => Can't open mailbox {127.0.0.1:110/pop3/ssl/novalidate-cert: invalid remote specification)
出现跟使用pop3连接gmail一样的错误,无论换端口号还是换flags都一样。 怎么回事?是wamp不支持pop3?还是我没有在php中配置?又要怎么配置?
3.我使用的是集成的wamp,它的本地账户是you@youdomain吗,密码是什么呢?服务器的域名是localhost(或127.0.0.1)吗?
如果阁下有看到这篇博文,并且知道解决方法,还望阁下不吝赐教。谢谢。