كيفية استخدام ADRESSES عبر البريد الإلكتروني مع chars خاصة مثل Ø
-
25-09-2019 - |
سؤال
من خلال كتابة هذا:
var recipient = new MailAddress("name@abcø.dk");
لاحظ "Ø" في جزء المجال.
أحصل على استثناء يوضح:
System.Formatexception: السلسلة المحددة ليست في النموذج المطلوب لعنوان بريد إلكتروني. في system.net.mime.mailbnfhelper.readmailaddress (بيانات السلسلة ، int32 و string ، string & displayname) في system.net.mail.mailaddress.parsevalue (عنوان السلسلة) في system.net.mail.mailaddress..ctor (عنوان السلسلة ، السلسلة ، السلسلة DisplayName ، تشفير DisplayNameenCoding) في System.net.mail.mailaddress..ctor (عنوان السلسلة)
يجب أن يكون العنوان المستخدم صالحًا تمامًا.
لذلك أعتقد أنني يجب أن أشفر العنوان بطريقة ما؟
المحلول
ينص RFC-822 على أنه يجب تشكيل كل جزء من هذا المجال بالكامل من أحرف ASCII ، باستثناء المساحات وأحرف التحكم. عنوان بريدك الإلكتروني غير صالح وفقًا لهذا المعيار.
ما يعنيه هذا لاسم المجال الدولي هو أنك ستحصل فقط على عنوان بريد إلكتروني متوافق مع RFC-822 باستخدام نموذج ASCII لاسم المجال.
نصائح أخرى
ربما تحتاج إلى استخدام البديل المشفر لاسم المضيف. يرى هنا, ، مثال على تشفير IDNA
RFC 1034 يصف أسماء المجال
يجب أن تتبع الملصقات قواعد أسماء مضيف Arpanet. يجب أن يبدأوا بحرف ، وينتهي بحرف أو رقم ، ولديهم أحرف داخلية فقط وأرقام ، و الواصلة. هناك أيضا بعض القيود على الطول. يجب أن تكون التسميات 63 حرفًا أو أقل.