خطأ فادح: استثناء غير معروف .. باستخدام PHP Swiftmailer

StackOverflow https://stackoverflow.com/questions/1245201

  •  12-09-2019
  •  | 
  •  

سؤال

أنا أستخدم Swiftmailer لإرسال رسائل البريد الإلكتروني وإذا حاولت استخدام عنوان البريد الإلكتروني دمية، على سبيل المثال إذا قمت بكتابة "ASDF" في عنوان البريد الإلكتروني، أحصل على استثناء هذا غير مصرح به.

   Fatal error: Uncaught exception 'Swift_RfcComplianceException' with message 
'Address in mailbox given [asdf] does not comply with RFC 2822,

أنا لست من ذوي الخبرة جدا في OO .. لذا لست متأكدا من كيفية التعامل مع هذا؟ في الواقع، أريد فقط أن أفشل إذا كان عنوان البريد الإلكتروني غير صالح ولكن لا ينبغي أن يرمي رسالة الخطأ القاتلة. أي اقتراحات؟

شكرا.

هل كانت مفيدة؟

المحلول

تحتاج إلى قبض الاستثناء، مثل هذا

try
{
    // Your code to send the email
}
catch (Swift_RfcComplianceException $e)
{
    print('Email address not valid:' . $e->getMessage());
}

هذا ليس شيئا أوو، إنه استثناءات شيء.

نصائح أخرى

أيضا، يمكنك التحقق من صحة البريد الإلكتروني قبل إرسالها:

if(!Swift_Validate::email($email)){ //if email is not valid
                //do something, skip them
                $log_error->log($email);
}

أعتقد أنه يعني أن عنوان البريد الإلكتروني المحدد لا يحترم معايير عنوان البريد الإلكتروني.

إذا كان عنوان البريد الإلكتروني صالحا بناء على ما تراه في رسالة الخطأ، فتأكد من عدم وجود مسافات رائدة أو زائدة في العنوان. على سبيل المثال تشغيل تقليم ($ البريد الإلكتروني_address).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top