Joomla 3.5.1 में अपग्रेड करने के बाद, "अमान्य पता" त्रुटि को ठीक करें


10

जूमला 3.5.1 में अपग्रेड करने के बाद, मुझे अपने Invalid Addressकुछ एक्सटेंशन में एक त्रुटि मिलती है जो PHPMailer (जूमला मेलिंग सिस्टम) का उपयोग करती है।

मैं इसे कैसे ठीक करूं?

जवाबों:


16

उपयोगकर्ताओं के लिए उत्तर:

यदि आपको यह त्रुटि मिल रही है क्योंकि आप ईमेल भेजने वाले कुछ एक्सटेंशन का उपयोग कर रहे हैं, तो कृपया डेवलपर पृष्ठ पर जाएं, और पहले सुनिश्चित करें कि आप नवीनतम संस्करण का उपयोग कर रहे हैं

यदि आप 100% सुनिश्चित हैं कि आप नवीनतम संस्करण का उपयोग कर रहे हैं, लेकिन फिर भी यह त्रुटि हो रही है, तो आपको डेवलपर से संपर्क करना चाहिए और उनसे इस त्रुटि के बारे में पूछना चाहिए। उन्हें इस पृष्ठ का लिंक भेजना, डेवलपर को इस त्रुटि को ठीक करने में मदद कर सकता है

यदि आप अपने आप को PHP के साथ पर्याप्त रूप से अनुभवी मानते हैं, तो आप नीचे "डेवलपर्स के लिए उत्तर" का उपयोग करके, कोड को अपने दम पर पैच करने की कोशिश कर सकते हैं।

कृपया ध्यान दें कि यह एक स्थायी समाधान नहीं होगा, लेकिन सिर्फ एक "पैच" होगा, जब तक कि डेवलपर एक नया संस्करण जारी नहीं करता।

डेवलपर्स के लिए उत्तर:

जूमला 3.5.1 डिफ़ॉल्ट रूप से PHPMailer के अपवादों को सक्षम करता है। इस प्रकार त्रुटियां जो पहले छिपी हुई थीं, वे दिखाई देती हैं।

एक मामला जहां यह दिखाता है कि यह अब addReplyToफ़ंक्शन के साथ है ।

जूमला 2.5 addReplyToमें एक सरणी पैरामीटर था।

जूमला 3.0 ( हाँ, 2012 में वापस ) के साथ शुरू हुआ जूमला का JMail फ़ंक्शन स्ट्रिंग मापदंडों के अलग-अलग तरीके से सरणियों को संभालने के लिए नहीं बदला। इस प्रकार यह अंतर्निहित PHPMailer कोड पर निर्भर करता है, जो हालांकि बदल भी गया और इस प्रकार उत्तर-सही तरीके से जोड़ने में विफल रहा।

PHPMailer उस के लिए एक अपवाद फेंक देता है, लेकिन जब तक कि जूमला 3.5.1 तक किसी ने भी उस अपवाद को नहीं देखा अगर आपने मैन्युअल रूप से अपवाद हैंडलिंग को सक्षम नहीं किया था!

समाधान

आप addReplyToइस तरह के लिए अपना एक्सटेंशन कोड खोज सकते हैं और लाइनें बदल सकते हैं:

 $mailer->addReplyTo(array($replyTo, $replyToName));

इसके लिए:

if(version_compare(JVERSION, '3.0', 'ge')) {
  $mailer->addReplyTo($replyTo, $replyToName);
} else {
  $mailer->addReplyTo(array($replyTo, $replyToName));
}

इसके अलावा आप try {} catch() {}JMail / PHPMailer से आने वाले अपवाद को संभालने के लिए आवश्यकतानुसार कोड जोड़ना चाहते हैं ।

अधिक जानकारी:

मुद्दे की चर्चा गितुब पर

जूमला मंचों में प्रासंगिक विषय


1
अच्छा लगा। काश जूमला ने अपने अपडेट के लिए इस तरह के पेज उपलब्ध कराए हों
Lodder

2
Hbit द्वारा किए गए संपादन के अनुसार, यह जूमला 3.0 के बाद से एक मुद्दा है। हालाँकि, मैं पुष्टि कर सकता हूं, कि जूमला 3.5 तक, यह समस्या पुराने कोड के उपयोग से किसी भी रूप में नहीं होती है।
mavrosxristoforos

3

मुझे भी यह त्रुटि तब लगी जब $ replTo वैरिएबल खाली था और उसका उपयोग करना था

if ( !empty($replyTo) ) {
  $mailer->addReplyTo($replyTo, $replyToName);
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.