Nasıl Zend_Mail, sendmail ve localhost kullanarak bir e-posta göndermek için?

2 Cevap php

Ben basit bir e-posta işlevi içeren bir Zend Framework uygulama geliştiriyorum. Geliştirme sürümü Ubuntu çalışan benim bilgisayar üzerinde çalışıyor. Üretim versiyonu bir üretim sunucu üzerinde çalıştırmak için gidiyor.

Kendime bir test e-posta göndermeye çalışırken, bir mesajla istisna olsun: "posta göndermek için açılamıyor". Bu bir çevre sorunu, ya da bir kod sorun olup olmadığını bilmiyorum. Ben Zend_Mail_Transport_Sendmail varsayarak düşünüyorum bu yüzden bir taşıma kullanarak değilim. İşte benim kod:

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();
}

Update: ben localhost kullanmak için SMTP taşıma ayarlayarak farklı bir yaklaşım denedim:

transport = new Zend_Mail_Transport_Smtp('localhost');
Zend_Mail::setDefaultTransport($transport);

Ben farklı bir hatası bu sefer var: ne demek emin değilim "Bağlantı reddedildi". Belki ben henüz bir şey ayarlamak değil mi?

Update: Ben bir SMTP sunucusu / setup yüklü yoktu sanırım. This tutorial made it really easy for me to get an SMTP server up an running. Şimdi çalışma yukarıda kod örnekleri de.

2 Cevap

Eğer bir MTA yapılandırmak veya gönderebilirsiniz birini bulmak gerekir gibi geliyor. Ubuntu masaüstü varsayılan, muhtemelen exim veya postfix ya göre birini kurmak gerekir, ama bunu yapılandırılmış değil varsa, bu çalışıyor olması pek mümkün olacaktır.

Eğer (bu varsayılan) sendmail kullanmak istiyorsanız ve SMTP farklı ise, varsayılan taşıma ayarlamak istemiyorum.

Bu e-postalar göndermek olmadığını sunucunuzda sendmail veya MTA doğru değil / Kur yüklü olmadığını göstermektedir.