2010-11-04 231 views
-1

我知道這是可能的,但我可以不使用遠程SMTP服務器或類似的東西嗎?基本上我想用PHP發送郵件,但沒有郵件()通過fsockopen發送郵件?

+0

您的問題需要闡述。通過文件共享和直接訪問mbox? – stillstanding 2010-11-04 15:08:38

+0

@不知道你的文件共享是什麼意思。沒有直接訪問郵箱。 – Rob 2010-11-04 15:10:18

+1

看到我編輯的答案 – stillstanding 2010-11-04 15:17:52

回答

0

考慮到您應該熟悉SMTP,POP3和/或IMAP以實際與郵件服務器交換數據這一事實,可能但並非完全無關緊要。

您需要編寫應用程序的代碼,以便模仿MTA的行爲,即如果要執行mail()函數的功能並使用套接字。如果你在Linux上,另一個選擇是打電話給sendmail。

+0

對,我一直在研究它。抓住本地主機:8888的事情(編輯問題在一秒鐘)主要是我想發送郵件沒有郵件() – Rob 2010-11-04 14:44:15

1

我不確定你的意思是'沒有遠程SMTP服務器',因爲在任何郵件傳送中至少有一個必須涉及 - 一個接收郵件帳戶的收件人...

您可能可以做的事情(由您決定是否值得付出努力)是使用PHP的套接字函數在端口25上打開與遠程郵件服務器的連接。谷歌'SMTP telnet'爲SMTP會話外觀的一些示例(非常簡單,爲true),然後是'SMTP codes'的谷歌,以獲取有關遠程服務器對您的說明的更多解釋。

0

要不要使用電子郵件()看看PHPMailer

我使用這個庫爲我所有的電子郵件發送代碼。我已經將其擴展爲具有調試模式,以便在測試代碼時攔截傳出的電子郵件。

我可能是錯的,但即使該服務器只是帶有sendmail的網絡服務器,您仍將始終使用SMTP服務器。如果您在Windows上運行PHP,則需要在構建的SMTP服務中啓用IIS。