2011-01-20 124 views
9
  • 我正在開發一個PHP 5.3.3的Web應用程序。
  • 我希望它自動發送確認電子郵件。
  • 我還沒有域名。
  • 我正在使用Windows XP。
  • 我沒有PEAR的郵件包。
  • 我有hMailServer,並且是我想用來發送電子郵件的郵件服務器。

我的問題是:使用PHP發送電子郵件有什麼要求?

  1. 我可以發送電子郵件沒有域名? (這是絕對必要的嗎?我現在只想測試應用程序。)
  2. 如果域名是必需的,我是否還需要使用虛擬主機服務提供商託管應用程序?我可以用我的電腦嗎?(請記住,我只想測試應用程序。)
  3. 我是否絕對需要PEAR的郵件包?或者我可以簡單地使用mail()函數?

我對我應該做的事毫無頭緒。我已經完成了我的研究,我理解了這些部分,但我無法理解整體,我指的是需要哪些資源以及如何將它們放在一起。我從來沒有開發過任何發送電子郵件的應用程序。請幫幫我。

回答

2
  1. 是。你可以設置你的「從」地址到任何你想要的。 (儘管請注意,收件人服務器可能會檢測到它是僞造的並拒絕它。)

  2. 您可以從您的計算機主機,只要確保您的網絡不阻止端口25出站。

  3. 只要您有本地的SMTP服務器來處理您的郵件,mail()就足夠了。 (我假定這就是hMailServer產品是什麼。)

+0

我以前遇到的問題是郵件甚至不被接受用於交付,現在是這樣。我所要做的只是添加一個'From:'標題。我使用Gmail地址作爲測試接收器。假設郵件是由於mail()函數返回true而發送的。我無法確認它,因爲我沒有域名,所以我使用的'From:'標題只是我的名字,正如您所說的,可能收件人服務器拒絕它,因爲它甚至不會顯示爲垃圾郵件。我已經決定獲得一個DN,使用它創建一個郵件地址,然後再試一次。如果我沒有SMTP服務器,是否會讓mail()函數返回true? – ecantu 2011-01-21 15:10:36

0
  1. 是的,你可以。我相信你的電子郵件默認會顯示你的服務器的DNS,但你可以將from:標題設置爲你想要的。但是,如果您更改了from:標頭,請注意您的電子郵件可能會被垃圾郵件過濾器清除。

  2. 您需要一些特殊的服務器配置才能使用php mail()函數 - 我沒有嘗試過自己設置它,但我知道基本的本地apache/php安裝將不具備發送電子郵件的能力。但是,幾乎每個付費的Web服務器都應該正確設置它。

  3. 不可以。您可以使用通用mail()函數發送常規和html電子郵件。

+0

我不明白這個部分:「我相信你的電子郵件會默認出現在你的服務器的DNS中」。我沒有域名,所以我沒有DNS。 – ecantu 2011-01-21 14:34:03

+0

如果您使用虛擬主機提供商,則無論您的網站是否擁有自己的域名,其共享服務器通常都有某種形式的DNS名稱。 – 2011-01-22 21:44:36

1

首先,如果您正在運行Windows的服務器,您需要配置您的電子郵件將如何發送(SMTP服務器)。轉到您的php.ini文件中的這個部分。將localhost更改爲您可以在網絡中使用的SMTP服務器(您的hMailServer的IP地址,或者有時需要購買一個才能使用,如http://www.smtp2go.com/)。

 
[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

其次,你在php中使用mail(...)函數(包括髮送HTML郵件的能力)。而已。