Php
遠端登錄到埠 25 上的“與主機的連接失去”
我安裝了 smtp4dev 來測試在我的本地伺服器(xampp)中接收郵件的系統資料庫單:https ://github.com/panique/php-login
注意:localserver 在埠:8080
我的 SMTP 部分的 php.ini 文件如下,並且 smtp 已啟動,如 xampp 狀態所示:
[mail function] SMTP = localhost smtp_port = 25 sendmail_from = postmaster@localhost sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe" ;mail.log = "C:\xampp\php\logs\php_mail.log"
但我沒有收到任何電子郵件,所以我檢查了 smtp 是否通過 telnet 工作:
telnet localhost 25
我在執行 telnet 命令後得到了這個:
220 localhost smtp4dev ready Connection to host lost.
我怎麼解決這個問題?
正如之前在評論中所討論的,我正在為可能遇到此問題的其他人寫這個答案。
添加 Windows 防火牆規則以打開埠 25 將糾正此問題,因為連接拒絕連接,因此不允許建立 telnet。
這是您的郵件伺服器的合理行為。你沒有給它任何命令,所以它關閉了連接。
如果您想通過 telnet 與伺服器通信,請在連接後嘗試告訴它以下內容:
EHLO user
您的使用者名在哪裡
user
,看看您是否收到一組狀態碼 250 響應。 本指南還有其他範例,說明如何通過 telnet 與 SMTP 伺服器通信。