2012-07-10 153 views
-1

我正在使用LinuxMint 13,我無法從PHP腳本發送電子郵件。我用Postfix跑了很多配置沒有任何成功,所以我決定刪除它。無法用PHP發送電子郵件

我只是希望能夠發送電子郵件到另一臺計算機或/和任何電子郵件地址,並能夠執行功能,如imap_open()imap_mail()。當我有Postfix的時候,這些函數會返回true,但是沒有發送任何東西。所以現在我想能夠執行這個功能。我也希望能夠通過我登錄的帳戶發送電子郵件。

請告訴我什麼不起作用以及哪些軟件包會有用。

感謝

+6

所以...爲了您發送電子郵件...您決定從等式中刪除電子郵件服務器?我不認爲這個計劃會起作用。 – David 2012-07-10 17:28:46

+0

也許你可以向你提供MTA的痕跡,這可能會幫助我們理解問題所在,也可能將這個問題轉移到另一個更適合解決MTA配置問題的站點。謝謝。 – Kev 2012-07-10 23:51:47

+0

對不起,我是新來的,所以我不明白我應該提供什麼信息。我重新安裝了Postfix。 – user1319182 2012-07-11 00:25:16

回答

0

你可以使用PHP的默認mail功能。 Here's the documentation on that。它可以工作,類似下面的(例如,從文檔):

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 

如果您有與煩惱,你可以使用PHPMailer,這是它給你更多的控制權你發送郵件庫。他們甚至提供some pretty killer examples

+0

我是否需要安裝或配置其他內容? – user1319182 2012-07-10 17:51:29

+0

通常不會。但是,有時您可能需要配置PHP在服務器上的設置方式。 http://email.about.com/od/emailprogrammingtips/qt/How_to_Send_Email_from_a_PHP_Script.htm可能會有所幫助。 – cereallarceny 2012-07-10 17:59:37

+0

根據在線教程正確配置PHP,但我認爲問題來自域名以及這種設置。我沒有編輯它們。我怎麼做? – user1319182 2012-07-10 18:25:12

2

如果您想使用PHP mail()功能,您只需要安裝sendmailsudo apt-get install sendmail)。它應該設置發送郵件所需的一切。

一些主要的ISP可能會阻止您的郵件,因爲您不符合發送要求(例如具有非通用主機名,並且您需要IP地址的正確反向DNS記錄),但這應該是您所需要的以便從PHP發送郵件。

+0

我已經安裝了sendmail。請告訴我更多關於什麼阻止了我。 – user1319182 2012-07-10 17:35:31

+0

檢查'mail()'是否先返回true或false。然後檢查服務器郵件日誌以查看郵件是否由於錯誤而被傳遞或保留。 '/ var/log'是一個開始尋找的好地方。 – drew010 2012-07-10 17:36:39

+0

郵件沒有返回任何東西。我調用它時代碼會凍結。 – user1319182 2012-07-10 17:39:13