Joomla 3.5.1'e yükselttikten sonra Invalid Address
PHPMailer (Joomla Posta sistemi) kullanan bazı uzantılarımda bir hata alıyorum.
Bunu nasıl düzeltebilirim?
Joomla 3.5.1'e yükselttikten sonra Invalid Address
PHPMailer (Joomla Posta sistemi) kullanan bazı uzantılarımda bir hata alıyorum.
Bunu nasıl düzeltebilirim?
Yanıtlar:
E-posta gönderen bir uzantı kullandığınız için bu hatayı alıyorsanız, lütfen geliştirici sayfasını ziyaret edin ve önce en son sürümü kullandığınızdan emin olun .
En son sürümü kullandığınızdan% 100 eminseniz, ancak yine de bu hatayı alıyorsanız, geliştiriciyle iletişime geçmeli ve bu hatayı sormalısınız. Onlara bu sayfaya bir bağlantı göndermek, geliştiricinin bu hatayı düzeltmesine yardımcı olabilir .
PHP ile yeterince deneyimli olduğunuzu düşünüyorsanız, aşağıdaki "geliştiriciler için yanıt" ı kullanarak kodu kendi başınıza düzeltmeye çalışabilirsiniz.
Geliştiricinin yeni bir sürüm yayınlayana kadar bunun kalıcı bir çözüm değil, sadece bir "yama" olacağını lütfen unutmayın.
Joomla 3.5.1, PHPMailer'ın istisnalarını varsayılan olarak etkinleştirir. Böylece daha önce gizlenen hatalar ortaya çıkıyor.
Bunun şimdi gösterdiği durumlardan biri işlevdedir addReplyTo
.
Joomla 2.5 addReplyTo
de bir dizi parametresi vardı.
Joomla 3.0'dan başlayarak ( evet, 2012'de ) Joomla'nın JMail işlevi dizileri dize parametrelerinden farklı işlemeyecek şekilde değiştirdi. Bu nedenle, altta yatan PHPMailer koduna dayanıyordu, ancak bu da değişti ve böylece Yanıtla-Doğru'yu doğru şekilde ekleyemedi.
PHPMailer bunun için bir istisna atar, ancak Joomla 3.5.1'e kadar istisna işlemeyi manuel olarak etkinleştirmediyseniz kimse bu istisnayı görmedi!
Çözüm
Uzantı kodunuzu arayabilir addReplyTo
ve aşağıdaki gibi satırları değiştirebilirsiniz:
$mailer->addReplyTo(array($replyTo, $replyToName));
buna:
if(version_compare(JVERSION, '3.0', 'ge')) {
$mailer->addReplyTo($replyTo, $replyToName);
} else {
$mailer->addReplyTo(array($replyTo, $replyToName));
}
Ayrıca try {} catch() {}
, JMail / PHPMailer'dan gelen İstisna'yı işlemek için gereken kodu eklemek istersiniz .
Daha fazla bilgi: