更新:我解決了它。記錄下面的所有內容。我怎樣才能讓PHP郵件()工作?需要幫助配置MTA
我嘗試了很多東西,但它不起作用。
我不介意使用,後綴,exim4或sendmail。我只需要一步一步的指導和解釋我在做什麼。我也在使用Google Apps進行電子郵件。
編輯:
mail.log
Nov 3 01:14:02 mugbear postfix[16615]: error: to submit mail, use the Postfix sendmail command
Nov 3 01:14:02 mugbear postfix[16615]: fatal: the postfix command is reserved for the superuser
這是什麼意思?
更新到編輯:修正了在php.ini用sendmail_path = /usr/sbin/sendmail -t -i
EDIT2修正sendmail_path: PHP - 從文檔只是抓起。僅供參考,我刪除了我的電子郵件。
<?php
// The message
$message = "Line 1\nLine 2\nLine 3";
// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);
// Send
mail('[email protected]', 'My Subject', $message);
?>
EDIT3: 另一個錯誤:
Nov 3 07:22:29 mugbear postfix/postdrop[17131]: warning: unable to look up public/pickup: No such file or directory
Nov 3 07:22:29 mugbear postfix/postdrop[17133]: warning: unable to look up public/pickup: No such file or directory
更新到EDIT3:http://ubuntuforums.org/showthread.php?t=666018 運行此:
sudo mkfifo /var/spool/postfix/public/pickup
sudo /etc/init.d/postfix restart
之後用以下鏈接解決了這個,你會得到這個e RROR:
postfix/master[13902]: fatal: bind 0.0.0.0 port 25: Address already in use
然後你必須檢查你的流程,並殺死sendmail的過程,例如:
[email protected]:/etc/postfix# ps aux | grep mail
root 23554 0.0 0.0 8232 1900 ? Ss 10:17 0:00 sendmail: MTA: accepting connections
root 27308 0.0 0.0 3004 764 pts/0 S+ 10:30 0:00 grep mail
[email protected]:/etc/postfix# kill 23554
Edit4: 這是什麼意思?
Nov 3 07:34:51 mugbear postfix/pickup[17309]: 6602F1C151: uid=33 from=<www-data>
Nov 3 07:34:51 mugbear postfix/cleanup[17311]: 6602F1C151: message-id=<[email protected]>
Nov 3 07:34:51 mugbear postfix/qmgr[17310]: 6602F1C151: from=<[email protected]>, size=397, nrcpt=1 (queue active)
Nov 3 07:34:51 mugbear postfix/error[17321]: 6602F1C151: to=<[email protected]>, relay=none, delay=0.03, delays=0.02/0/0/0.01, dsn=4.3.5, status=deferred (delivery temporarily suspended: Host or domain name not found. Name service error for name=xen.prgmr.com type=A: Host found but no data record of requested type)
更新到edit4:我跑,dpkg-reconfigure postfix
和選擇Internet Site
。
我只要接受任何解決方案,它的工作原理,能你給我一個什麼樣的指導? – Strawberry 2010-11-03 00:45:42
只要我忘記了如何做到這一點,我就會遵循標準的CentOS指令。不過,配置postfix for sendonly很容易。應該有一個Debian指南來做到這一點。不過,您真的需要查看httpd錯誤日誌和郵件日誌,以查看問題所在。我想到的兩個問題在PHP嘗試發送時丟失標題(缺少From:通常是罪魁禍首),或者是MTA配置問題(很多時候,您只需要配置MTA以直接連接到遠程端)。 – mpdonadio 2010-11-03 00:56:13
我會在我的edit2中發佈郵件日誌,而不是在apache中。 – Strawberry 2010-11-03 01:14:39