2011-10-15 52 views
0

我已經將sendmail_path設置爲'sendmail.exe'的路徑,但PHP沒有發送電子郵件。它需要郵件服務器或其他東西。在PHP中使用'郵件'功能時'sendmail.exe'有趣的事實

PHP說不能連接在端口25到localhost在php.ini文件中的有趣的事實是,路徑「sendmail.exe」上面,說「只有Unix的!????」,而是「 sendmail.exe'是Windows可執行文件。 [我相信sendmail.exe我在XAMPP是Unix的sendmail的Windows版本,所以在php.ini中的評論可能不會在正確的地方]

我只是隻發送電子郵件,沒有收到電子郵件,那麼爲什麼我需要一個郵件服務器(如水星)?或者SMTP(協議)要求服務器同時發送&接收?

按照我的想法,我們可以打開發送消息的目標服務器的端口(通常是25?465?)。這裏和上面的程序有什麼問題嗎?

只是找不到類似Stackoverflow問題的細節,所以我提出這個問題,請幫我開悟。

+2

那麼,什麼平臺,是你嗎? –

+2

所以基本上你想發送電子郵件從一個窗口使用sendmail.exe你找到的地方? – Furicane

+0

@Pekka我在Windows 7上使用XAMPP – jondinham

回答

1

只是因爲你找到了你的計算機上被稱爲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

這只是默認情況下它發送電子郵件實際上是有意義的。那麼,爲什麼你對一個有意義的配置感到不安呢?

參見:

+0

我的'sendmail.exe'和PHP來自同一個XAMPP包。當我安裝這個XAMPP時,它甚至會在php.ini – jondinham

+0

中自動設置'sendmail_path',但我們必須在'sendmail.ini'中指定關於smtp服務器的信息。我想直接發送電子郵件到目的地mx服務器因爲它更快(較少跳躍),而不是連接到smtp服務器,並要求它發送到目標服務器(更多跳數) – jondinham

+0

@Paul:使用本地SMTP服務器爲您的sendmail和你完全一樣。 XAMPP有一個我想,你只需要開始它。甚至可能出現這種情況,甚至所有的東西都可以運用。我強烈建議您開始閱讀隨您使用的軟件一起提供的文檔。 – hakre