2

我想要一个能够接收电子邮件的服务器。然后我想使用 PHP 来编程向用户显示电子邮件的方式。我可以纯粹用PHP来做吗?我的意思是,从 PHP 发送电子邮件不是问题,但我不知道我是否可以通过 PHP 接收电子邮件?(以某种方式 PHP 接收 POST 请求)。


添加

作为对第一个答案的回应,我想指定看起来我需要一个 SMTP 服务器。我希望能够以编程方式与 SMTP 服务器通信。例如,我希望有可能“告诉” SMTP 服务器创建一个新的电子邮件地址。我还需要知道传入电子邮件的存储位置和格式。例如,如何从收到的邮件对应的文件中提取“sender”、“cc”、“bcc”。

4

2 回答 2

8

希望有一个能够接收电子邮件的服务器。

如果您是从头开始编写它,那么您将需要SMTP 的规范。我强烈建议不要这样做。SMTP 服务器很难编写,并且有几个非常好的开源解决方案。

我对 PHP 的理解是,它在多线程方面做得很差,所以它可能不是解决这个问题的好方法。

比我想使用 PHP 来编程邮件向用户显示的方式

接收邮件的服务器通常不会将它们显示给用户。它们通常以其他软件(例如本地电子邮件客户端或 IMAP 服务器)访问的标准方式(例如 Maildir 或 mbox)存储它们。

向用户显示电子邮件的工作属于电子邮件客户端。基于 Web 的 PHP 网络邮件软件包括 SquirrelMail 和 RoundCube。AFAIK 他们都充当 IMAP 客户端。请参阅IMAP 规范

作为对第一个答案的回应,我想指定看起来我需要一个 SMTP 服务器。我希望能够以编程方式与 SMTP 服务器通信。例如,我希望有可能“告诉” SMTP 服务器创建一个新的电子邮件地址。

选择在您的操作系统上运行的 SMTP 服务器。阅读说明以了解如何配置递送和接受地址。它通常归结为操作文本文件。

我还需要知道传入邮件的存储位置和格式。例如,我如何从收到的邮件对应的文件中提取“sender”、“cc”、“bcc”。

再次。请参阅邮件服务器的手册。大多数都会为您提供有关数据存储位置和格式的选项。

然后,您只需要决定是让 PHP 直接深入研究这些内容,还是在两者之间使用 IMAP 服务器。

于 2011-02-23T12:50:46.933 回答
2

不,这不容易。PHP 是为(无状态)http 协议而设计的,而邮件是在由各种请求和响应构建的对话中发送的。

可以使用 PHP 解析和处理邮件,但我建议安装一个可以使用 POP3 从 PHP 读取的邮箱。然后,您的 PHP 应用程序可以显示和处理来自该邮箱的邮件。

于 2011-02-23T12:53:02.487 回答