2010-08-14 48 views
2

我使用mstmp從各種smtp帳戶發送郵件。使用PHP的郵件命令,它可以使用默認帳戶從mstmp發送郵件。PHP:郵件命令的自定義參數?

但是,我想讓它指定從哪個smtp帳戶發送。使用mstmp,可以使用以下命令來執行此操作:msmtp --account = svh其中svh是您指定的smtp帳戶。更多關於msmtp可以在這裏找到:msmtp sourceforce

那麼我有什麼選擇,是否有一個修改的郵件命令,可以讓我使用msmtp使用--account參數?我應該只用root權限運行一個shell命令(不想這麼做)。

你會如何解決這個問題?

回答

2

看起來像msmtp有一種方法,您可以定義一個配置爲全系統,因此www-data可以實際運行該命令並獲得我需要的電子郵件。愛的msmtp。

編輯:這是我的快速和骯髒的功能,做我想做的事情,稍後介紹一些人需要。我強烈建議你做更多的錯誤檢查。

function msmtp($To, $Subject, $Body, $Headers, $Account) { 
    $Email = "To: $To\nSubject: $Subject\n$Headers\n\n$Body\n"; 
    exec("echo '$Email' | msmtp --account=$Account $To"); 
} 

它非常類似於PHP mail()函數,所以你會發送電子郵件作爲史蒂夫喬布斯曾經比爾·蓋茨如下,使用msmtp會賬戶「蘋果」:

msmtp會(」 比爾·蓋茨@微軟.COM 「 」嘿,請仔細閱讀本「, 」你太有錢了,給我你所有的錢「, 」來源:[email protected]「,」 蘋果「)

+0

我不得不承認,我剛剛創建了MSMTP我將它配置爲在我本地的Debian上運行。在5分鐘內,我通過PHP sendmail_path發送並配置爲使用我的gMail信息。 – frustratedtech 2011-12-23 15:13:32