PHP阅读邮件

来源:互联网 发布:淘宝搞笑夸张好评 编辑:程序博客网 时间:2024/04/29 23:32

这几天想搞一个“基于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)吗?

如果阁下有看到这篇博文,并且知道解决方法,还望阁下不吝赐教。谢谢。