2015-11-06 85 views
-2

我需要在PHP中從我的網站發送電子郵件。根據要求,我不能使用內置的郵件()PHP函數(所以沒有sendmail)。我在我的unix服務器上下載了'mail',並且通過PHP中的函數應該能夠連接以發送郵件。 PHP代碼如下:我需要在PHP中從我的網站發送電子郵件。我怎樣才能做到這一點?

<?php 
    function sendMail() { 
     shell_exec("echo mymessage | mail -s mysubject [email protected]"); 
    } 
?> 

遺憾的是它不工作,但如果我在UNIX終端運行該命令(本機是一個CentOS 7)它的工作原理。我也嘗試了system()和exec()PHP函數,但沒有成功。我該如何做這項工作? 謝謝

編輯: 這個問題是不一樣的。我不能使用mail()PHP函數,但可以使用替代方法

+1

嘗試類似PHPMailer? – Adam

+0

謝謝。我用PHPMailer,它工作正常。我不明白爲什麼我的問題如此消極... – Davide

回答

0

大多數框架都得出了相同的結論,即mail()不是一個很好的解決方案。大多數框架現在所做的是他們open a socket並通過所述套接字直接管理郵件命令。這就是爲什麼使用類似PHPMailerZend Framework 2(不要求使用整個框架)的原因。這是一個更清潔的整體解決方案

您的Web服務用戶可能沒有權限使用內置的Linux客戶端。這很可能是shell命令不起作用的原因。我強烈建議避免使用shell命令並禁用它們,因爲它們存在安全風險。

相關問題