كيفية استخدام ADRESSES عبر البريد الإلكتروني مع chars خاصة مثل Ø

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

سؤال

من خلال كتابة هذا:

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 حرفًا أو أقل.

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