1. استخدم برنامج الإرسال المقدم من outLook، مثل برنامج UFIDA Manufacturing U8 (الإصدار التجريبي) الذي رأيته، حيث يتم إرسال وظيفة البريد الإلكتروني عن طريق استدعاء مكون ActiveX الخاص بـ outLook المزايا: التطوير البسيط العيوب: الاعتماد على مكون Outlook، خدمة بريد SMTP
لإرسال رسائل البريد الإلكتروني الرمز كما يلي:
إرسال فرعي خاص ().
تعتيم outObj كـ Outlook.Application جديد ()
تعتيم العنصر باسم Outlook.MailItemClass
العنصر = outObj.CreateItem(0)
Item.To = "
[email protected] "
العنصر.الموضوع = "مرحبًا"
Item.Body = "الجحيم"
Item.Attachments.Add("C:abc.txt")
البند.إرسال ()
مرجع النهاية الفرعية
2. تطوير الويب، راجع System.Web.Mail في ASP.NET عطوف
تحتوي مساحة الاسم System.Web.Mail على فئات تمكنك من إنشاء الرسائل وإرسالها باستخدام مكون الرسالة CDOSYS (كائنات بيانات التعاون لنظام التشغيل Windows 2000). يتم تسليم رسائل البريد من خلال خدمة بريد SMTP المضمنة في نظام التشغيل Microsoft Windows 2000 أو من خلال أي خادم SMTP. يمكن استخدام الفئات الموجودة في مساحة الاسم هذه في ASP.NET أو أي تطبيق مُدار
يوفر MailAttachment خصائص وأساليب لإنشاء مرفقات البريد الإلكتروني.
يوفر MailMessage خصائص وأساليب لإنشاء رسائل البريد الإلكتروني.
يوفر SmtpMail خصائص وأساليب لإرسال الرسائل باستخدام مكون رسالة كائنات بيانات التعاون (CDOSYS) لنظام التشغيل Windows 2000.
يمكن تسليم البريد من خلال خدمة بريد SMTP المضمنة في نظام التشغيل Microsoft Windows 2000 أو من خلال أي خادم SMTP. يمكن استخدام الأنواع الموجودة في مساحة الاسم System.Web.Mail في ASP.NET أو أي تطبيق مُدار.
إعدادات خادم Smtp لم يعد بعض موفري خدمة البريد الإلكتروني المجاني يقدمون خدمات Smtp لجميع رسائل البريد الإلكتروني، عند إرسال رسائل البريد الإلكتروني، يجب التحقق من معلومات المستخدم يكون سريعًا جدًا، فلا تقلق بشكل أساسي. إذا لم يكن خادمًا محليًا، فمن الأفضل عدم استخدامه كثيرًا عند الإرسال. أحدهما هو مشكلة السرعة، والآخر هو إرسال الكثير من رسائل البريد الإلكتروني أعتقد أنه بريد عشوائي ورمز رفض الخدمة هو كما يلي:
الزر الفرعي الخاص 1_Click (مرسل ByVal كـ System.Object، ByVal e كـ System.EventArgs) يعالج Button1.Click
تعتيم mailObj كرسالة MailMessage جديدة ()
خافت SMTP مثل SmtpMail
"حدد اسم خادم SMTP."
smtp.SmtpServer = "smtp.XXX.com"
'حدد عنوان إرسال البريد الإلكتروني
mailObj.From = "
[email protected] "
'حدد عنوان استلام البريد الإلكتروني
mailObj.To = "
[email protected] "
'حدد عنوان نسخة مخفية الوجهة للبريد الإلكتروني
mailObj.Bcc= "
[email protected] "
"حدد عنوان النسخة الكربونية للبريد الإلكتروني."
mailObj.Cc = "
[email protected] "
"حدد موضوع البريد الإلكتروني."
mailObj.Subject = "الموضوع"
'حدد نص البريد الإلكتروني
mailObj.Body = "نص البريد!"
'يتم إرسال البريد الإلكتروني بتنسيق HTML
mailObj.BodyFormat = MailFormat.Html
'حدد المستوى المحدود للبريد، واضبطه على مستوى مرتفع هنا
mailObj.Priority = MailPriority.High
'أرفق مرفقًا بالبريد الإلكتروني المرسل
mailObj.Attachments.Add(New MailAttachment("c:aa.doc"))
smTp.Send(mailObj)
End Sub
3. استخدم System.Net.Sockets في تطوير تطبيقات Windows في VB.NET أو C#
ويستند أيضًا إلى بروتوكول SMTP 1. مقدمة إلى بروتوكول SMTP
1. يقوم العميل بإنشاء اتصال TCP/IP بالخادم من خلال المنفذ 25 للخادم: 220 server.com خدمة نقل البريد البسيطة جاهزة
2. يستخدم العميل الأمر "HELO" لتحديد العميل المرسل: HELO server.com
جانب الخادم: 250 server.com
3. يرسل العميل أمر البريد، ويستجيب الخادم بموافقة للإشارة إلى أنه جاهز لاستقبال العميل: البريد من: <
[email protected] >
جانب الخادم: 250 موافق
4. يرسل العميل أمر RCPT لتحديد المستلم، ويستجيب الخادم ما إذا كان على استعداد لقبول عميل البريد الإلكتروني للمستلم: RCPT TO: <
[email protected] >
جانب الخادم: 250 موافق
5. بعد اكتمال المفاوضات، استخدم الأمر DATA لإرسال عميل البريد الإلكتروني: DATA
جانب الخادم: 354 بدء إدخال البريد: ينتهي بـ <CRLF>.<CRLF>
6. ينهي العميل محتوى الإدخال بـ .ويرسله إلى العميل: الموضوع: <CRLF>
المحتوى<CRLF>
.<CRLF>
7. يخرج العميل باستخدام أمر QUIT.
العميل: استقال
جانب الخادم: 250 server.com إغلاق قناة الإرسال
المزايا: يمكنك تطوير مكوناتك الخاصة على هذا الأساس، باستخدام المقابس يمكننا تطوير برمجة الشبكة العيوب: حجم
البرنامج كبير نسبيًا، رمز إرسال رسائل البريد الإلكتروني هو كما يلي:
خافت إرسال البيانات كسلسلة
خافت szData باسم بايت ()
خافت CRLF كسلسلة
CRLF = "rn"
'إنشاء اتصال بمنفذ الخادم 25
تعتيم SmtpServ كـ TcpClient جديد (txtsmtp.Text، 25)
lstlog.Items.Clear()
'عرض المعلومات الأولية للخادم
تعتيم NetStrm كـ NetworkStream
NetStrm = SmtpServ.GetStream()
Dim RdStrm كقارئ StreamReader جديد (SmtpServ.GetStream())
إذا كان RdStrm.ReadLine() <> "" ثم lstlog.Items.Add(RdStrm.ReadLine())
'
sendData = "خادم HELO" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'وضع علامة على المرسل
sendData = "البريد من: " + "<" + txtfrom.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'وضع علامة على المستلم
sendData = "RCPT TO: " + "<" + txtTo.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'استعد لإرسال المحتوى
إرسال البيانات = "البيانات" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'أرسل الموضوع
sendData = "الموضوع: " + txtsub.Text + CRLF
"أرسل المحتوى."
sendData = sendData + txtmsg.Text + CRLF
'إنهاء الإرسال
sendData = sendData + "." + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'خروج
sendData = "QUIT" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
lstlog.Items.Add(RdStrm.ReadLine())
'أغلق الاتصال
NetStrm.Close()
ردسترم.إغلاق()
lstlog.Items.Add("الاتصال مغلق")
lstlog.Items.Add("تم الإرسال بنجاح")
يمكنك أيضًا الرجوع إلى: استخدام C# لإنشاء مكون إرسال البريد الإلكتروني (SMTP)
http://www.aspcool.com/lanmu/browse1.asp?ID=968&bbsuser=csharp 4. CDONTS، مكون الإرسال الأساسي الذي يأتي مع IIS SMTP
لا تحتاج إلى تنزيله على وجه التحديد. لقد قامت Microsoft بالفعل بتوفير هذا المكون طالما تم تثبيت الإصدار 2000، فسيحصل عليه NT's SMTP.
المزايا: يتم توفير المكونات بواسطة نظام التشغيل العيوب: ضعف الأداء الوظيفي وقابلية التوسع الضعيفة
Mymail = CreateObject("CDONTS.NewMail").
Mymail.From = *** 'صندوق بريد مرسل الرسالة
Mymail.To = *** 'صندوق بريد مستلم الرسالة
Mymail.CC = *** 'نسخة إلى
Mymail.BCC = *** 'ربط الإرسال
Mymail.Subject = *** 'موضوع الرسالة
Mymail.Body = *** 'نص الرسالة
'حدد الأولوية، 0-غير مهم، 1-عام، 2-مهم.
بريدي.الأهمية = 2
بريدي.إرسال()
Mymail = لا شيء
5. استخدم مكون JMail
يتمتع جيميل بالخصائص التالية:
(1) يمكن إرسال المرفقات؛
(2) تتيح لك إمكانية السجل التفصيلي التحقق من المشكلة؛
(3) تحديد أولوية إرسال البريد الإلكتروني؛
(4) يدعم إرسال رسائل البريد الإلكتروني بتنسيقات متعددة، مثل إرسال رسائل البريد الإلكتروني بتنسيق HTML أو TXT. هذا مكون مجاني.
(5) القدرة على إرسال رسائل بريد إلكتروني مخفية/نسخ كربونية/رسائل عاجلة؛
(6) الشيء الأكثر أهمية هو أن المكونات مجانية ولا يتعين عليك دفع ثمنها، لذا فهي تستحق الاستخدام للغاية.
موقع الويب:
http://www.dimac.net/ ، الإصدار الحالي هو 4.3
السمات الشائعة لمكونات JMail:
هيئة البريد الإلكتروني
تسجيل المكالمات تسجيل التسجيل لاستخدام التصحيح
الأولوية أولوية البريد الإلكتروني من 1 إلى 5
مرسل مرسل
عنوان IP الخاص بـ ServerAddress أو اسم خادم SMTP
الطرق الشائعة
لعنوان البريد الإلكتروني للموضوع
مكون JMail:
يحدد AddAttachment الملف المرفق
يقوم AddRecipient بإضافة مستلم
AddRecipientBCC نسخة مخفية، معروفة فقط للمرسل ومستلمي BCC.
AddRecipientCC CC
بعد التنفيذ، يرسل البريد الإلكتروني
ويفهم السمات والطرق اللازمة، ويتلقى الجزء المتبقي البريد الإلكتروني الذي أدخله المستخدم ويمرره كمعلمة إلى طريقة AddRecipient، ثم يملأ السمات المتبقية حسب الحاجة، وأخيرًا يرسلها مع التنفيذ طريقة. على سبيل المثال:
ديم JMail
JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Logging = صحيح
JMail.ServerAddress = "202.96.144.48"
JMail.Sender = "
[email protected] "
JMail.Subject = "الموضوع."
JMail.Body = "الجسم."
JMail.AddRecipient("
[email protected] ")
JMail.AddAttachment("c:go.gif")
JMail.الأولوية = 3
JMail.Execute()
JMail = لا يوجد
ملخص: يعتمد الحل الذي تختاره على غرض البرنامج واحتياجاته. توفر هذه المقالة عدة أمثلة كمرجع لك. على سبيل المثال، يستدعي برنامج UFIDA U8 مكون Outlook ويدمجه في برنامجه الخاص. نظام الإدارة الذي كتبته، وكتبت مكوناتي الخاصة (SMTP)، قوي بنفس القدر، لكن وقت الترميز أطول!