سؤال

ولدي النصي الذي يعالج ويرسل البريد الإلكتروني ولكن أحتاج إلى الجسم في رسالة على دون إنشاء ملف ثم ثم إدراج الملف مع سطر الأوامر MAIL القياسية.

وكيف يمكنني أن أفعل ذلك؟

هل كانت مفيدة؟

المحلول

وعلى افتراض أن الجسم الذي تريد إنشاء شيء يمكنك الكتابة إلى SYS $ OUTPUT (على سبيل المثال الناتج من إجراء الأوامر أو قيادة DCL)، ثم يمكنك استخدام DCL PIPE إلى أنبوب الإخراج إلى VMS البريد، مثل:

$ PIPE write sys$output "The date is ", f$cvtime() | MAIL SYS$INPUT smith/SUBJ="Piping in DCL"

أو

$ PIPE DIR *.LOG | MAIL SYS$INPUT smith/SUBJ="Piping in DCL"

وأضيفت الأمر PIPE في نظام الذاكرة الافتراضية المفتوح V7.1. إذا كنت بطريقة أو بأخرى على 7.1 قبل النظام، ثم خيارك الوحيد هو كتابة إلى ملف مؤقت وتنظيف.

وتحرير: للرد على التعليق، وإذا كنت ترغب في القضاء على العروض التفاعلية من الأمر البريد، يمكنك إعادة توجيه SYS $ OUTPUT إلى NLA0 :، كما في:

$ PIPE DIR *.LOG |  MAIL SYS$INPUT smith/SUBJ="Piping in DCL" > NLA0:

ورسائل الخطأ تذهب إلى SYS $ خطأ، لذلك عليك أن لا تزال ترى أي فشل. انظر HELP PIPE لمزيد من الخير.

نصائح أخرى

هل لديك السيناريو إنشاء ملف مؤقت للاحتفاظ نص الرسالة.

وبريد لن يقبل ملف نصي على سطر الأوامر، مثل قائمة المستخدمين و/ subj

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top