目前我正在使用cPanel管理邮箱。我在cPanel中配置了邮箱,以便将电子邮件传递给PHP脚本。我只是为了这个目的使用cPanel,所以我想摆脱所有的装备。
我所需要的只是:
These PHP extensions依赖于预先存在的电子邮件服务器和帐户,因此,仅凭这些还不够。
从我一直在研究的,显然我需要通过PHP命令行,使用CLI或CGI来完成它,不确定是哪一个。
我在使用LAMP CentOS的VPS中工作,也许有一个开源的PHP应用程序或库可以在这里实现,只是为了特定的任务。
答案 0 :(得分:4)
很抱歉这么说,但你打算做什么根本没有任何意义。
理由:
为了能够接收和访问电子邮件,您必须实现至少一个完全成熟的网络服务器:要接收的SMTP服务器以及用于访问邮箱的其他服务器,如IMAP4服务器或类似服务器。加上ssl或tls加密,身份验证以及和......的所有开销。
请不要弄错,但我的印象是你还没有完全理解电子邮件交换的实际工作方式以及需要做什么。
相反,我建议您通过掌握一些可以使用的独立系统来处理这个领域,也许是您租用的虚拟专用服务器,包括域名和静态IP地址。请注意,某些带有php的网站空间不足够。然后安装典型的软件包,一些Linux操作系统,可能是Postfix SMTP服务器,Dovecot IMAP服务器以及它们所需的一切。然后你配置那些东西,如果你真的成功并且能够通过该设置实际接收消息,那么就是回到这个问题的时候了。我期待两件事:
答案 1 :(得分:3)
为了阅读邮箱中的电子邮件,我建议使用IMAP。 这里的电子邮件存储在服务器上,IMAP协议允许您访问服务器上的电子邮件。
您必须在服务器上启用IMAP并使用imap_open函数[1]
这是从php.net采取的一个例子:
<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");
echo "<h1>Mailboxes</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");
if ($folders == false) {
echo "Call failed<br />\n";
} else {
foreach ($folders as $val) {
echo $val . "<br />\n";
}
}
echo "<h1>Headers in INBOX</h1>\n";
$headers = imap_headers($mbox);
if ($headers == false) {
echo "Call failed<br />\n";
} else {
foreach ($headers as $val) {
echo $val . "<br />\n";
}
}
imap_close($mbox);
?>
在创建新帐户方面,如果您在邮件服务器上创建了一个用于创建帐户的HTML输入表单,那么使用PHP cURL提交POST变量来创建一个新帐户,这是一个很好的stackoverflow答案。这里的主题[2]。
当您在注册表单上提交信息时,您实际上是在提交一系列POST变量。如果您不熟悉cURL或HTTP请求的基础知识,可能需要阅读。
这可能涉及使用cURL登录您为邮件服务器设置的管理框架的管理面板。如果您是相关邮件服务器上的root用户,那么可以使用更好的解决方案。