-1

I know this is possible, but can I do without a remote SMTP server or the like? Basically I want to send mail with PHP, but without mail()

4

3 回答 3

1

我不确定您对“没有远程 SMTP 服务器”的确切含义,因为在任何邮件传递中,至少必须涉及其中一个 - 以收件人的名义接收邮件的那个......

您可能会做的(由您决定是否值得努力)是使用 PHP 的套接字函数在端口 25 上打开与远程邮件服务器的连接。Google ' SMTP telnet' 获取 SMTP 会话外观的一些示例(很简单,确实如此),然后 google ' SMTP codes' 以获取有关远程服务器在说什么的更多解释。

于 2010-11-05T02:40:23.567 回答
0

不使用 mail() 查看PHPMailer

我将这个库用于我所有的电子邮件代码。我已经将它扩展为具有调试模式,这样我就可以在测试代码时拦截传出的电子邮件。

我可能是错的,但您将始终使用 SMTP 服务器,即使该服务器只是带有 sendmail 的网络服务器。如果您在 Windows 上运行 PHP,则需要启用 IIS 的内置 SMTP 服务。

于 2010-11-05T02:48:20.507 回答
0

可能,但考虑到您应该熟悉 SMTP、POP3 和/或 IMAP 以实际与邮件服务器交换数据这一事实,这并不完全是微不足道的。

您需要对您的应用程序进行编码,使其模仿MTA的行为,也就是说,如果您要执行 mail() 函数所做的事情 - 并使用套接字。如果您使用的是 Linux,另一种选择是对 sendmail 进行操作系统调用。

于 2010-11-04T14:31:37.090 回答