Yabancı karakter + virgül ile Zend Posta sorun

3 Cevap php

(Mail () false döndürür çünkü) ad ("A") gibi yabancı bir karakter ve bir virgül (",") hem de bir şey ayarlandığında Zend Mail, bir istisna atar. Aşağıdaki kodu ile yeniden üretirler.

$mail = new Zend_Mail('utf-8');
$mail
    ->setFrom('info@myhost', 'My company')
    ->setSubject('hi')
    ->addTo('MYEMAIL@SOMEHOST.COM', 'aå,a')
    ->setBodyHtml('<p>asd</p>')
    ->send();

Ben aşağıda bir şey addto çağrı alırsanız, herhangi bir hata oluşur.

->addTo('znarkus@gmail.com', 'aåa')
->addTo('znarkus@gmail.com', 'a,a')
->addTo('znarkus@gmail.com', 'aa')

Tuhaf şey the mail is delivered, ("mail göndermek için açılamıyor") bir istisna atar olsa bile vardır. Ben son Zend Posta koşuyorum (1.9.5?). Halp Lütfen!

3 Cevap

Problem $ için mail () fonksiyonu kabul olduğunu

User <user@example.com>, Another User <anotheruser@example.com>

ve ben PHP dahili birden fazla alıcı ayırmak için virgül üzerinde dize böler ama siz sadece bir e-posta adresi sağlamak olduğunu sanırım.

Eğer bu bir Zend_Mail, veya PHP hata olduğunu düşünüyorsanız size uygun sorunu izci Bu gönderilmesi gerekiyor.

Bu Zend_Framework sadece bir hata var:

http://framework.zend.com/issues/browse/ZF-10792

Bir virgül e-posta adı bölümünde izin verilir:

"Smith, Frank"

bu tamam

Virgül posta başlığının "ile" kısmen ayrılmış bir literal (ve size rağmen kullanmak asla) farklı hedefler ayıran,. "Ilk" posta gönderilen alır bile, imho böyle bir başlık oluşturur:

aå, a <znarkus@gmail.com>

With this header i assume your mta tries to send two mails: one to aå, which fails (badly), and a second one to znarkus@gmail.com, which should make its way. You could try to look into the mail headers to confirm this theory.