البرمجة

إرسال إشعارات بالبريد عند وصول ملفات جديدة إلى مجلد الاختبار باستخدام VBScript

في هذا السياق، يبدو أنك تعمل على كتابة نص برمجي باستخدام VBScript لإرسال إشعار بالبريد الإلكتروني عند وصول ملف إلى مجلد الاختبار. واجهتك صعوبة في إرفاق الملف بالبريد الإلكتروني، خاصة أن اسم الملف ليس ثابتًا ويختلف في كل مرة.

للتعامل مع هذا التحدي، يمكنك استخدام دالة GetFolder للوصول إلى الملفات في المجلد، ثم استخدام حلقة For Each للتعامل مع كل ملف على حدة. ستحتاج أيضًا إلى تعديل الجزء المتعلق بإرفاق الملف بالبريد الإلكتروني. إليك تعديل للكود الخاص بك:

vbscript
Const PATH = "F:\Test" Dim fso: Set fso = CreateObject("Scripting.FileSystemObject") Dim folder: Set folder = fso.GetFolder(PATH) If folder.Files.Count <> 0 Then ' تحديد بيانات البريد الإلكتروني Dim strSMTPFrom: strSMTPFrom = "[email protected]" Dim strSMTPTo: strSMTPTo = "[email protected]" Dim strSMTPRelay: strSMTPRelay = "127.0.0.1" Dim strTextBody: strTextBody = "The attached file arrived in Test folder" Dim strSubject: strSubject = "File arrived in Test folder" ' إعداد الرسالة Set oMessage = CreateObject("CDO.Message") oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTPRelay oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 oMessage.Configuration.Fields.Update oMessage.Subject = strSubject oMessage.From = strSMTPFrom oMessage.To = strSMTPTo oMessage.TextBody = strTextBody ' تحديد الملفات في المجلد For Each file In folder.Files ' إرفاق كل ملف بالبريد الإلكتروني oMessage.AddAttachment file.Path Next ' إرسال البريد الإلكتروني oMessage.Send End If

هذا التعديل يضمن إرفاق جميع الملفات الموجودة في المجلد بالبريد الإلكتروني. يمكنك ضبط التنسيق وفقًا لاحتياجاتك.

المزيد من المعلومات

بالطبع، دعني أوسع شرحي لتوفير المزيد من المعلومات حول الكود وكيف يعمل:

  1. تحديد المجلد والتحقق من وجود الملفات:

    • تم تعيين المسار الذي يحتوي على مجلد الاختبار في ثابت PATH.
    • يتم استخدام CreateObject("Scripting.FileSystemObject") لإنشاء كائن FileSystemObject، الذي يُستخدم للتفاعل مع نظام الملفات.
    • GetFolder(PATH) يستخدم للحصول على كائن يمثل المجلد.
    • يتم فحص عدد الملفات في المجلد باستخدام folder.Files.Count، وإذا كان لديها ملفات، يتم تنفيذ الكود داخل الشرط.
  2. إعداد معلومات البريد الإلكتروني:

    • تم تحديد المتغيرات strSMTPFrom و strSMTPTo و strSMTPRelay و strTextBody و strSubject لتمثيل معلومات البريد الإلكتروني اللازمة.
    • تم إنشاء كائن CDO.Message باستخدام CreateObject("CDO.Message") لإنشاء الرسالة.
  3. تكوين إعدادات البريد الإلكتروني:

    • تم تكوين بعض إعدادات البريد الإلكتروني باستخدام مجموعة الحقول في oMessage.Configuration.Fields.
    • يتم تعيين sendusing إلى 2 لاستخدام البروتوكول الآمن للإرسال.
    • smtpserver يحدد عنوان خادم SMTP، و smtpserverport يحدد رقم منفذ الخادم.
  4. إرفاق الملفات:

    • تم استخدام حلقة For Each للتكرار عبر جميع الملفات في المجلد باستخدام folder.Files.
    • في كل تكرار، يتم إضافة الملف إلى الرسالة باستخدام oMessage.AddAttachment(file.Path).
  5. إرسال البريد الإلكتروني:

    • بعد تكوين الرسالة وإرفاق الملفات، يتم استخدام oMessage.Send لإرسال البريد الإلكتروني.

هذا الكود يوفر حلاً بسيطاً وفعالاً لإرسال إشعار عبر البريد الإلكتروني عند وصول ملف إلى المجلد المحدد. يمكنك تخصيص المعلومات المتعلقة بالبريد والمجلد حسب احتياجاتك.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر