[英]How to send an email using Zend_Mail, sendmail, and localhost?
我正在開發一個包含簡單電子郵件功能的zend框架應用程序。 開發版本正在運行Ubuntu的計算機上運行。 生產版本將在生產服務器上運行。
嘗試向自己發送測試電子郵件時,出現異常消息:“無法發送郵件”。 我不知道這是環境問題還是代碼問題。 我沒有使用傳輸器,因此我認為它默認為Zend_Mail_Transport_Sendmail
。 這是我的代碼:
public function sendtestAction()
{
$mail = new Zend_Mail();
$mail->setFrom('test@aol.com', 'Test Email');
$mail->addTo('my@email.com', 'My Name');
$mail->setSubject('This is just a test.');
$mail->setBodyText('This is only a test.');
$mail->send();
}
更新:我通過將SMTP傳輸設置為使用localhost嘗試了另一種方法:
transport = new Zend_Mail_Transport_Smtp('localhost');
Zend_Mail::setDefaultTransport($transport);
這次我遇到了另一個錯誤:“連接被拒絕”不知道那是什么意思。 也許我還沒有設置?
更新:我想我沒有SMTP服務器安裝/設置。 本教程使我很容易啟動SMTP服務器 。 現在,以上兩個代碼示例都可以工作。
如果要使用sendmail(默認設置),並且SMTP不同,則不需要設置默認傳輸方式。
它不發送電子郵件,則表明服務器上的sendmail或MTA未安裝/未正確設置。
聽起來您需要配置MTA或找到可以發送給它的MTA。 默認情況下,Ubuntu桌面應該設置一個,可能是exim或postfix,但是如果您沒有配置它,它將不太可能運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.