簡體   English   中英

如何使用Zend_Mail,sendmail和localhost發送電子郵件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM