Zend_Mail kullanırken nasıl bir mail doğrulamak için gönderildi?

2 Cevap php

Ben posta göndermek için Zend framework kullanıyorum. Yapılandırma yapılır ve kod yazılır sonra hepsi tek bir çağrı aşağı kaynar:

$Mail->send($Transport)

Nasıl bu posta doğru gönderilmiş olduğunu kontrol edebilirsiniz? Ben Zend Mail, bir istisna atar ama diğer insanlar bu bazen böyle değil dedi bir yerde okudum.

Zend_Mail kullanırken posta düzgün gönderildi sağlamak için kurşun programlı bir yolu nedir?

DÜZENLEME: i gönderdi demek, ben SMTP sunucuya gönderilir demek.

2 Cevap

Send-süreci oluyor yanlış bir şey varsa, genellikle Zend_Mail istisna olacak - ama bu kuvvetle Zend_Mail_Transport_* kullanılan bağlıdır.

Burada iki seçeneğiniz var:

  • Zend_Mail_Transport_Sendmail (varsayılan nakliye) mail() . If mail() döner false dayanır, Zend_Mail_Transport_Sendmail bir {[(5 atar )]} (Unable to send mail). Dönüş değeri kendisi çok güvenilir değildir. Bu manuel dönüş değeri hakkında şöyle diyor:

    Posta başarıyla aksi takdirde YANLIŞ teslim, kabul edildi, DOĞRU verir.

    Bu posta teslim için kabul edilmiştir sırf bu mail aslında amaçlanan hedefe ulaşmak anlamına gelmez dikkat etmek önemlidir.

  • Zend_Mail_Transport_Smtp Zend_Mail_Protocol_Smtp kapsüllü oluyor SMTP protokolünü kullanarak e-posta gönderir. Bu durumda alırsınız Zend_Mail_Protocol_Exception ya da bir şey (bir gönderenin adresi örneğin vermeden posta gönderme) SMTP protokolü ihlal veya SMTP sunucusu bir hata ya da bağlantı zaman aşımına raporlar zaman.

    SMTP sunucuya konuşurken hiçbir istisnası atılır Yani, uzak sunucu azından e-posta kabul emin olabilirsiniz.

Ben bu değil sanırım. Başarısız oldu "gönderme" Eğer bir istisna olsun. Ama bu send () fonksiyonu düzgün çalıştı, ancak bir çek. Bu posta göndermek var anlamına gelmez.

Ben posta teslim edildi ensude için tek yolu posta inte bir onay kodu bağlantı eklemek ve kullanıcı tıklayın yapmak için sanırım.