-
باستخدام System.Web.Mail؛
باطلة خاصة Button1_Click(مرسل الكائن، System.EventArgs e)
{
// إنشاء مثيل لكائن MailMessage
System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();
// تحديد عنوان إرسال البريد الإلكتروني، يمكنك ملء عنوان غير موجود حسب الرغبة
mail.From = " [email protected] "؛
// تحديد عنوان استلام البريد الإلكتروني
// قم بتعيين قائمة مفصولة بفاصلة منقوطة لعناوين البريد الإلكتروني للمستلمين
mail.To=" [email protected] ";
// تحديد عنوان نسخة مخفية الوجهة للبريد الإلكتروني
// قم بتعيين قائمة مفصولة بفاصلة منقوطة لعناوين البريد الإلكتروني
//mail.Bcc=" [email protected] ";
// حدد عنوان النسخة الكربونية للبريد الإلكتروني
// قم بتعيين قائمة مفصولة بفاصلة منقوطة لعناوين البريد الإلكتروني
//mail.Cc=" [email protected];[email protected]
// تحديد موضوع البريد الإلكتروني
mail.Subject = "اختبار البريد على نطاق واسع asp.net إرسال تعلم البريد"؛
// قم بتعيين نوع محتوى نص البريد الإلكتروني
// هنا نرسلها بتنسيق HTML
mail.BodyFormat=System.Web.Mail.MailFormat.Html;
// قم بتعيين نص البريد الإلكتروني
mail.Body="اختبره وتأكد من نجاحه";
// السلاسل المضمنة في @ تبدأ بـ @ وهي أيضًا محاطة بعلامات اقتباس مزدوجة. على سبيل المثال:
// ميزة الاقتباس @ هي أن تسلسل الهروب لا تتم معالجته، لذلك يمكنك بسهولة كتابة سلسلة، مثل اسم ملف مؤهل بالكامل:
//@"c:DocsSourcea.txt " // بدلاً من "c:\Docs\Source\a.txt"
// لتضمين علامة اقتباس مزدوجة ضمن سلسلة مقتبسة @، استخدم زوجين من علامات الاقتباس المزدوجة:
// @ """أهوي!"" بكى القبطان." // "أهوي!" بكى القبطان.
// استخدام آخر للرمز @ هو مع المعرف (/ المرجع) المشار إليه والذي يصادف أنه كلمة رئيسية في لغة C#.
// http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx
// قم بتعيين مرفق
System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@" F:dddddd.txt");
// أرفق مرفقًا بالبريد الإلكتروني
mail.Attachments.Add(mailAttachment);
// استمر في إضافة مرفقات متعددة هنا
mailAttachment=new System.Web.Mail.MailAttachment(@"F:asp_net إرسال رمز البريد_Baidu Know.mht");
mail.Attachments.Add(mailAttachment);
// خادم SMTP، لأنه تم إعداده على هذا الجهاز، فاكتب 127.0.0.1 إذا كنت متصلاً بخادم آخر، مثل صندوق بريد 163، فاكتب smpt.163.com
System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";
// يُقال أن العديد من خوادم SMTP تتطلب مصادقة لمنع البريد العشوائي، ويبدو أنها تسمى بروتوكول smpt الممتد أو شيء من هذا القبيل.
// ولكن ما هو متصل هنا هو خادم smpt الخاص به، smpt بسيط، لذلك لا يوجد تحقق.
// فيما يتعلق بما إذا كان التحقق مطلوبًا عند إرسال رسائل البريد الإلكتروني من خادم SMPT المحلي إلى 163 أو صناديق بريد أخرى، لا أعرف، أثناء الاختبار الفعلي، يمكن إرسال رسائل البريد الإلكتروني إلى
//@163.com ، @eyou.com، @x.cn، لا يلزم التحقق.
//يؤكد
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
// اسم تسجيل الدخول
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "widebright");
// كلمة مرور تسجيل الدخول
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword ", "widebright");
//يرسل
System.Web.Mail.SmtpMail.Send(mail);
}
يستخدم الكود أعلاه فئة System.Web.Mail.SmtpMail المتوفرة في .Net لإرسال رسائل البريد الإلكتروني والاتصال تلقائيًا
خادم SMPT لإرسال رسائل البريد الإلكتروني. يستخدم بعض الأشخاص فئات أو مآخذ توصيل TCP لكتابة التعليمات البرمجية لتنفيذ بروتوكول smpt، لكن هذا يتطلب الكثير من الترميز والبروتوكولات وما إلى ذلك، وهو أمر مزعج للغاية. لقد قمت بذلك قبل استخدام VB. بروتوكول smpt بسيط نسبيًا، لكن تشفير تلك المرفقات يتطلب الكثير من التعليمات البرمجية.
هذا مجرد رمز لإرسال رسائل SMTP. إذا كنت تريد تلقي الرسائل والانتظار، فيجب أن يكون لديك خادم pop3 يدعم بروتوكول pop3.
تم تثبيت خادم SMTP بالفعل بعد تثبيت IIS. ولا يأتي Pop3 معه، لذا قد يكون تثبيته أكثر صعوبة بعض الشيء.
تكوين خادم SMTP
لقد قمت بتمكينه بنفسي بعد تثبيت IIS 5.1 وقمت للتو بتكوينه في IIS Information Service Manager.
1. أضف عدة أسماء نطاقات في المجالات: انقر بزر الماوس الأيمن فوق المجالات في "خادم SMTP الظاهري الافتراضي"
حدد "جديد" لإنشاء نطاق جديد، ---> نوع المجال وحدد "بعيد".
يتم ملء اسم النطاق في 163.com eyou.com x.cn على التوالي، لأنني أريد إرسال رسائل بريد إلكتروني إلى هذه الخوادم، ونفس الشيء كما في الكود أعلاه
===============
mail.To=" [email protected] ";
===============
وفي المقابل، إلى من تريد إرسال بريد إلكتروني، يجب عليك تعيين اسم المجال المقابل إذا لم تقم بتعيينه، فلا يمكن إرسال البريد الإلكتروني.
2. انقر بزر الماوس الأيمن على اسم نطاق مثل 163.com، وحدد "خصائص"، ثم حدد "السماح بنقل البريد الوارد إلى هذا النطاق". لا يمكن إرسال البريد الإلكتروني إلا بعد التحقق منه، وإلا فسيظل هناك خطأ .
بالنسبة لمجال التوجيه أدناه، ما عليك سوى تحديد استخدام DNS الافتراضي للتوجيه إلى المجال.
المفتاح هو تعيين اسم مجال خادم SMTP المقابل في IIS، ومن ثم يمكنك إرسال رسائل البريد الإلكتروني. لقد اختبرت عدة صناديق بريد على صفحة asp.net ويمكن إرسالها بشكل طبيعي. مثل صندوق بريد 163، انقر فوق الزر للإرسال، وسوف تتلقى ذلك.
اكتشفت للتو أنه يمكنك إضافته
*.كوم
*.شبكة
* cn
اسم المجال ليطابق معظم عناوين البريد الإلكتروني.
إذا قمت بإضافة اسم المجال *.com، فيمكنك إرسال رسائل إلى @163.com و@eyou.com
تم اجتياز الاختبار تحت بيئة Windows XP+visual sutdio 2003+iis5.1.
لكن لم أجد سوى أن الرسائل المرسلة إلى صندوق بريد سينا لم تصل، ولا أعرف السبب.
حدث خطأ نموذجي SMTP 550 5 7 1 غير قادر على الترحيل
بالإضافة إلى عدم تعيين اسم المجال المجالات بشكل صحيح، قد يكون هناك
لم يتم تحديد خانة الاختيار "السماح لأجهزة الكمبيوتر التي نجحت في المصادقة على الترحيل" في إعدادات خادم SMTP الظاهري. كما هو موضح أدناه،
افتح أولاً صفحة الوصول الخاصة بصفحة خصائص خادم SMTP الظاهري:
ثم انقر فوق الزر "ترحيل" ومعرفة ما إذا تم تحديد "السماح لجميع أجهزة الكمبيوتر التي نجحت في المصادقة بالترحيل، بغض النظر عن القائمة أعلاه":