السلام عليكم ورحمة الله وبركاته أخوانى الأفاضل ...
SendEmail_v2.zip الإصدار 2.00 بتاريخ: 21 أبريل/نيسان 2007
هذا الموضوع يحتوى على مثال لتوضيح طريقة سهلة وبسيطة لإرسال بريد الكترونى من خلال (MS Access database) دون الاعتماد على خادم (SMTP)، ويمكن أيضا إضافة مرفقات مع البريد، كذلك يمكنك إرسال البريد بهيئة HTML وليس مجرد نصوص فقط.
والمثال يعتمدا فى إرسال البريد الإلكترونى على مكون (SendEmail.dll Component Module) لذا يجب تسجيله (Server Register) داخل النظام قبل البدء فى استخدامه ، ويمكن تسجيله بعدة طرق أبسطها:
وهو أيضاً يستخدم فى عمله مكتبة مايكروسوفت dnsapi.dll الموجود مع ويندوز، لذا تأكد من وجود هذا الملف أو نسخه داخل مجلد النظام فى حالة عدم وجودة.
بعد نجاح عملية التسجيل، يمكنك استخدام المكون (Sender Object) من اى برنامج او لغة برمجة تدعم التعامل مع الـ Components ، مثل (VC6 - C#.Net - VB6 - VB.Net - Delphi - MSAccess - ASP - HTML - PHP - VBS) ... الخ
من خلال الـ (Sender Interface) يمكنك تحديد وضبط خصائص ، من حيث اتجاه الكتابة ، اللغة ، .... الخ.
يحتوى (الإصدار المرفق 2.00) على عدد من الخصائص (Prosperities) والدوال المكون (Methods) ، لمزيد من التفاصيل راجع: برامج ارسال بريد الكترونى مباشرتاً بالمرفقات والصور من خلال VB - VB.NET
للاستخدام من خلال (Microsoft Access) وبعد إتمام عملية التسجيل، من محرر الـ (Visual Basic) ويمكن الوصول إليه بالضغط على (ALT+F11) ، ثم من قائمة (Tools) أختر (References)، ثم أختر المرجع (SendEmail)، بعد ذلك يمكنك استخدام النوع Sender.
ملحوظة: حيث أنى أحتجت فى أستخدام إلى مقبض (hWnd) الخاص بالـ TextBox ، وأكسس لا يوفر هذه المعلومة، لذا لجأت إلى حيلة يمكن استخدامها مع أى أداة لا تستطيع الحصول على مقبضها (سواء فى اكسس أو VB أو ... الخ)، وهى أستخدمة الدالة الخاصة بالـ TextBox وهى SetFocus، ووظيفتها جعل الأداة الحالية هى التى تستقبل احداث لوحة المفاتيح (الإنتقال للأداة)، كذلك هناك دالة أخرى API تسمى GetFocus ووظيفتها أنها ترجع مقبض الأداة الحالية التى تستقبل أحداث لوحة المفاتيح والماوس، أعتقد أن الفكرة وضحت الأن، تعريف GetFocus كالتالى:
Private Declare Function GetFocus Lib "user32" () As Long
وقد أستخدمتها فى جزء من البرنامج بالشكل التالى:
txtMessage.SetFocus SendEM.hWndTextMessage = GetFocus()
وهو إنتقلت إلى txtMessage، ثم سأفت عن مقبض الـ Focus الحالى بـ GetFocus() :)
كذلك يمكن مراجعة ...
مثال باستخدام VB.NET - MS-VB 6.0
مثال باستخدام ASP - HTML - PHP - VBS
والسلام عليكم ورحمة الله وبركاته


