اذهب إلى المحتوى

Recommended Posts

بتاريخ: (معدل)

السلام عليكم ورحمة الله وبركاته أخوانى الأفاضل ...

SendEmail الملف يحتوى على أداة SendMail (مجانية) و 20 مثال بالسورس كود للإرسال بلغات (C++ - C# - VB6 - VB.Net - Delphi - MSSQL - MSAccess - ASP - HTML - PHP - VBS)

SendEmail: هى أداة لإرسال بريد الكترونى بالمرفقات والصور ، بأستخدام حسابك الخاص دون الاعتماد على خوادم من طرف وسيط، لأن الاعتماد على حساب وسيط أو خادم وسيط قد يمكن صاحب الخادم من مطالعة جميع مراسلاتك. كذلك للأداة القدرة على الإرسال بدون الاعتماد على خادم (SMTP) وسيط. (ملاحظة 1)

هذا المقال يحتوى على مثال لتوضيح طريقة سهلة وبسيطة لإرسال بريد الكترونى من خلال (Visual Basic) ، ويمكن أيضا إضافة مرفقات مع البريد، كذلك يمكنك إرسال البريد بهيئة HTML وليس مجرد نصوص فقط.

تحتوى الأداة على عدد من الخصائص (Prosperities) والدوال (Methods) ، سيتم توضيح استخدامهم كالتالى:

  1. الخصائص (Prosperities):
    • From: (أختيارى) لتحديد البريد الإلكترونى للشخص مرسل البريد
    • FromName: (أختيارى) أسم الشخص الذى أرسل البريد
    • To: البريد الالكترونى المراد مراسلته
    • ToName: (أختيارى) أسم الشخص المرسل له الرسالة
    • Reply: (أختيارى) البريد الإلكترونى فى حالة أن أردة الرد يتم توجيهه على بريد أخر غير الذى أرسلت منه
    • Subject: (أختيارى) عنوان الرسالة
    • Body: (أختيارى) محتوى الرسالة وممكن يكون نص أو (HTML)
    • PlainBody: (أختيارى) محتوى الرسالة النصى، لإمكانه مشاهدتها من الأنظمة التى تعرض النصوص فقط (مثل بعض أنظمة تشغيل الهاتف الجوال)
    • TypeHTML: (الأفتراضى 0) يعنى محتوى الرسالة نصى – 1: محتوى الرسالة HTML
    • Priority: أهمية الرسالة (0: منخفضة – 1: عادية – 2: عالية)
    • CharSet: (أختيارى) لتحديد اللغة والكود المراد استخدامه فى عرض محتوى الرسالة، مثل: windows-1256 – الأفتراضى : windows-1252
    • RTL: اتجاه عرض الرسائل النصية، (0: من اليسار لليمين – 1: من اليمين لليسار)
    • FailTries: عدد مراة المحاولة فى حالة الفشل فى الإرسال، الافتراضى 2
    • Result: النتيجة ، رسالة توضح إذا ما تم الإرسال من عدمه
    • hWndTextMessage: (أختيارى) مقبض صندوق نصى (TextBox) لمتابعة الرسالة إثناء إرسالها
    • hWndProgressBar: (أختيارى) مقبض شريط تقدم (ProgressBar) لمتابعة الإرسال
    • DNSServer: (أختيارى) لتحديد خادم DNS محدد يتم استخدامه أولاً
    • SMTPServer: (أختيارى) لتحديد خادم SMTP يتم الإرسال من خلاله
    • SMTPSVRPort: (أختيارى) تحديد منفذ الخادم، فى حالة تحديد خادم SMTP يتم الإرسال من خلاله، الأفتراضى 25 أو 465 عند استخدام SSL
    • HelperString: (أختيارى) مساعدة للمبرمج لإضافة متغير واستعادتة
    • SMTPUsername: (أختيارى) أسم المستخدم (فى حالة أستخدام SMTPServer يحتاج أسم مستخدم/كلمة مرور)
    • SMTPPassword: (أختيارى) كلمة المرور (فى حالة أستخدام SMTPServer يحتاج أسم مستخدم/كلمة مرور)
    • SMTPSSL: محاولة أستخدام أتصال مؤمن (الأفتراضى: False)

    [*]الدوال (Methods):

    • Clear: للبدء فى ارسال رسالة جديدة
    • AttachFile: (أختيارى) لإضافة مرفقات مع الرسالة
    • Send: للإرسال، ويأتى فى النهاية بعد ضبط الخصائص والمرفقات
    • Execute: مثل Send، ولكن Send ينتظر حتى يتم الإرسال أو لا يتم، إما Execute فيطلق Thread يقوم بعملية الإرسال، وليس هناك طريقة للتأكد إذا ما تم الإرسال أم لا، ويجب عدم إنهاء البرنامج إثناء الإرسال بـ Execute لأن هذ سيلغى الارسال، وهو مفيد فى حالة الرغبة بإرسال عدد كبير من الرسائل على التوازى، أو فى مواقع الويب ...الخ، لأنه لا يعطل النظام أثناء الإرسال.

للاستخدام من خلال (Visual Basic 6.0)، من قائمة (Project) أختر (References):

post-98027-1175468645.jpg

وبعد ذلك يمكن استخدام النوع Sender فى التعريف وإرسال بريد الكترونى:

Dim SendEM As New Sender
يمكن الاستغناء عن ذلك وتعريف المتغير من النوع (Object)، مثال لعملية إرسال بسيطة (المثال يستخدم خادم Gmail.com للإرسال من خلاله، وبالطبع لابد من أستبدال gm_user و gm_pass باسم المستخدم وكلمة المرور الخاصين بك على بريد Gmail.com ليتم الإرسل بصورة صحيحة):
    Dim SendEM As Object

    Set SendEM = CreateObject("SendMail.Sender")


    SendEM.Clear


    SendEM.FromName = "VB Test"

    SendEM.To = "mokadem2000@gmail.com"

    SendEM.Subject = "VB Test Message" 

    SendEM.Body = ""

    SendEM.CharSet = "windows-1256"

    SendEM.RTL = True


    SendEM.SMTPServer = "smtp.gmail.com"

    SendEM.SMTPSVRPort = 465

    SendEM.SMTPSSL = True

    SendEM.SMTPUsername = "[COLOR="Gray"]gm_user[/COLOR]"

    SendEM.SMTPPassword = "[COLOR="Gray"]gm_pass[/COLOR]"


    SendEM.Send

    MsgBox SendEM.Result


    Set SendEM = Nothing

المثال السابق يستخدم خادم Gmail.com للإرسال من خلاله، وبالطبع لابد من أستبدال gm_user و gm_pass باسم المستخدم وكلمة المرور الخاصين بك على بريد Gmail.com ليتم الإرسال بصورة صحيحة، ومن الجدير بالذكر أنه يمكن أستخدام أى خادم اخر بخلاف Gmail.com للإرسال بواسطتة.

ملاحظات:

  1. بعض خوادم البريد الإلكترونى (Email Servers) تطبق بعض القواعد الحازمة فى استقبال البريد الوارد إليها بغرض استبعاد البريد الدعائى أو الغير مرغوب فيه، فمثلاً Hotmail لا تستقبل بريد من Dynamic IPs وتشترط إعدادات إضافية فى DNS من IP خادم البريد (Domain) الذى تم منه إرسال الرسالة لاستقبالها بشكل صحيح، للمزيد راجع: Sender ID Framework SPF Record Wizard، وخوادم أخرى تستخدم الـ Bulk أو Spam فى الرسائل المشكوك فيها ... الخ
  2. عند إرسال رسالة مع مرفقات والرسالة تحتوى على HTML وصور، فيراعى أن يتم إرفاق المرفقات أولاً ثم تحميل الملف HTML ثم الإرسال مباشرتاً، لعدم تغير المسار الذى تحتويه الصور الموجودة فى الملف HTML، ولإظهار الرسالة بالشكل الصحيح.

شكراً

تم تعديل بواسطة Usama El-Mokadem
تنسيق

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

انشئ حساب جديد أو قم بتسجيل دخولك لتتمكن من إضافة تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل؟ سجل دخولك من هنا.

سجل دخولك الان
×
×
  • أضف...