我已经将sendmail_path设置为'sendmail.exe‘路径,但是PHP没有发送电子邮件。它需要邮件服务器什么的。
PHP说不能连接到25端口的本地主机。php.ini文件中有趣的事实是,在通往'sendmail.exe‘的路径上,上面写着"Unix!?“,但是'sendmail.exe’是可执行的。我相信我在XAMPP中的sendmail.exe是Unix sendmail的windows版本,所以php.ini中的注释可能不在正确的位置。
我只是发送电子邮件,而不是接收电子邮件,所以为什么我需要一个邮件服务器(如水星)?还是SMTP (协议)要求服务器同时发送和接收?
按照我的想法,我们可以打开港口(通常是25? 465?)要向其发送消息的目标服务器。我在这里和上面的手术有什么问题吗?
只是找不到类似的堆叠溢出问题的细节,所以我提出了这个问题,请帮助我得到启发。
发布于 2011-10-15 11:24:35
仅仅因为您在计算机上找到一个名为sendmail.exe的文件,这并不意味着PHP立即支持特定的二进制文件。
来自sendmail_path
...此指令也适用于Windows。如果设置,smtp、smtp_port和sendmail_from将被忽略并执行指定的命令。
再次检查磁盘上的sendmail.exe是否与PHP兼容。
尝试:
sendmail_path = "X:\path\to\sendmail.exe -t"我只是发送电子邮件,而不是接收电子邮件,所以为什么我需要一个邮件服务器(如水星)?还是SMTP (协议)要求服务器同时发送和接收?
你不需要这么做。您在sendmail.exe中使用的配置(这不是PHP,而是sendmail.ini )很可能已经告诉sendmail.exe使用SMTP服务器。
要么改变这一点,如果sendmail.exe没有提供您想要的特性,就用符合您需要的东西替换sendmail.exe。
只是在默认情况下,发送电子邮件是有意义的。那么,为什么你对有意义的配置感到不安呢?
另请参阅:
https://stackoverflow.com/questions/7777290
复制相似问题