مكتبة بسيطة للتحقق من صحة البريد الإلكتروني. يتم إجراء الفحوصات بالترتيب التالي:
# mix.exs
def deps do
[
# other dependencies...
{ :email_checker , "~> 0.2.4" }
# other dependencies...
]
end
# config/config.exs -- default
config :email_checker ,
default_dns: :system ,
also_dns: [ ] ,
validations: [ EmailChecker.Check.Format , EmailChecker.Check.MX ] ,
smtp_retries: 2 ,
timeout_milliseconds: :infinity
في بيئة الاختبار، نحتاج إلى تحميل سجلات DNS يدويًا للتحقق من وجود MX أم لا. عندما نقوم بتحميل المكتبة، لا يكون لدى Erlang قائمة سجلات DNS الخاصة بها حتى الآن. لذا لتجنب أي مشكلة، قمنا بتحديد DNS الافتراضي. افتراضيًا، قيمة بيئة الاختبار هي: {8, 8, 8, 8}
، وهو خادم DNS العام الأساسي لـ Google. إذا وجدت أن لديك حالات فشل فردية في تحليل الاسم، فقد يتعين عليك تحديد خادم DNS افتراضي.
في حالة احتياجك إلى تحميل المزيد من خوادم DNS يدويًا بعد الخادم الافتراضي، يمكنك تعيين قائمة بمزيد من عناوين IP لخادم DNS في إعداد also_dns
.
يرجى ملاحظة أن عنوان IP يتم تمثيله كصف مفصول بفواصل.
يجب أن يكون إعداد التحقق من الصحة الافتراضي مناسبًا لمعظم الحالات. إذا كنت تستخدم عناوين بريد إلكتروني مزيفة ولكن تبدو صالحة في اختباراتك الخاصة، فقد تحتاج إلى تعيين عمليات التحقق من الصحة على [Format]
فقط، ولن يتم بعد ذلك استخدام اختبار MX وSMTP في هذا التكوين.
ستحاول إستراتيجية التحقق من صحة SMTP محاولتين بشكل افتراضي.
تستخدم إستراتيجيات التحقق من صحة MX وSMTP، كل منها بطريقتها الخاصة، نفس المهلة الافتراضية لاتصالات الشبكة مثل استدعاءات مكتبة Erlang الأساسية. من المهم ملاحظة أن هذه القيمة هي :infinity
، وستستغرق المكالمة المدة التي تستغرقها المكالمة. من المحتمل أنك تريد تعيين مهلة معقولة بالمللي ثانية. يرجى ملاحظة أن:
# config/config.exs -- example personalized configuration
config :email_checker ,
default_dns: { 8 , 8 , 8 , 8 } ,
smtp_retries: 1 ,
timeout_milliseconds: 6000
EmailChecker . valid? ( "[email protected]" )
#=> true
EmailChecker . valid? ( "[email protected]" )
#=> false
سجل التغيير
معهد ماساتشوستس للتكنولوجيا