تريد تلقائيًا معالجة مرفقات البريد الإلكتروني بناءً على اسم المستخدم والموضوع

StackOverflow https://stackoverflow.com/questions/3544267

سؤال

أبحث عن نصيحة حول إعداد بوابة بريد إلكتروني حتى يتمكن الطلاب من إرسال بريد إلكتروني إليّ وسيتم معالجة البريد الإلكتروني تلقائيًا.

على سبيل المثال ، إذا أرسل لي studenta@univ.edu موضوعًا من "CS208 HW1" ، فسوف أتحقق مع بريد إلكتروني يوضح الملفات التي تم استلامها ومتى. إذا تم تشويه البريد الإلكتروني للطالب بطريقة ما مثل الموضوع السيئ ، أو الملفات المفقودة ، فإن الخدمة سترسل بريدًا إلكترونيًا مناسبًا.

لدي وصول إداري إلى جهاز Linux داخل الحرم الجامعي يمكن تكوينه كخادم بريد إلكتروني.

كنت أفكر في استخدام FetchMail ووظيفة cron لقراءة البريد الإلكتروني للمستخدم المعين باستمرار وأداء الاستجابات المناسبة مع نوع من البرنامج النصي. هل هذا يبدو وكأنه طريقة جيدة للذهاب؟ أرحب بأفكار أفضل؟

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

المحلول

أتوقع أنه في الممارسة العملية ، سيكون هناك استثناءات أكثر بكثير لأي قواعد تصفها أكثر مما سيكون هناك بريد مطابق يتم التعامل معه بشكل صحيح. ستشتري لنفسك صداعًا من الإصلاحات اليدوية ومطالبات "الكمبيوتر بأداء واجبي".

نظرًا لأن هذه فئة من مستوى CS 200 ، تطلب منهم استخدام نظام التحكم في الإصدار وتوفير نفسك متاعبًا في تحليل البريد الإلكتروني للتنسيق الحرة مع الهيكل الصلب الذي تفرضه VCS. سيستفيد طلابك أيضًا من المتطلبات. إذا كان من الممكن أن يقدّر طفلي البالغ من العمر 10 سنوات ميزة التحكم التلقائي في المراجعة داخل مستندات Google ، فأنا أظن أن طلابك يمكنهم التعامل مع التخريب الزئبقي أو البغيض أو حتى (اللحظات!).

تمت إضافته استجابة للتعليق

نعم ، ولكن مع "مستودع" Mercurial (ويفترض أنه GIT) هو كلمة خيالية لـ "الدليل" وليست DBMSY ذات الوزن الثقيل الذي ربما تكون نماذج VCS الأقدم قد دفعتك إلى توقعه.

إليكم كيف كطالب أتوقع العمل في مهمة افتراضية:

studenta@dorm$ hg clone https://Rich.univ.edu/studenta/cs208
$ cd cs208 ; broswer ./hw1.html
$ mkdir hw1 ; cd hw1 ; make my work files 
$ hg add * ; hg commit -m "perfect the first time!" # updates locally only
$ make lots of bug fixes
$ hg commit -m "okay really done now"
$ hg push 
# sleep, party, go to class with hangover
$ hg pull
$ browse hw2.html ; mkdir hw2 
...

كانت المهام في مستودع الطالب الذي وضعه هناك فقط من أجل العرض التوضيحي. نظرًا لأنك "تملك" آلة Rich.unix.edu ، فإن دفعاتها تصبح موثوقة. أنت

  1. اكتب نصًا (صغيرًا) hg init $student/cs208 على rich.univ.edu لكل طالب في القائمة.
  2. معرفة ما إذا كان HTTPS أو SSH يعمل بشكل أفضل في بيئتك
  3. أضف تعليقًا - إذا رغبت في ذلك - إلى ملفات الطالب التي يلتقطونها على سحبهم التالي
  4. احصل على سجل مُدار ومريح وموقع لجميع التفاعلات.
  5. يحصل الطلاب على ردود فعل إيجابية في لحظة الدفع التي تم قبولها

أخيرًا ، في حالة انخفاض خادم المستودع

$ hg export tip | mail -s "server down; assignment done" Rich@univ.edu

ولا يزال لديك نسخة من الطابع الزمني ، هضمها من تقديمها والذي يحتوي على تنسيق جامد يمكنك ارتكابه لهم ، أو أفضل من ذلك:

"دكتور ريتش ، كان الخادم أسفل !!!"
"لكنك أرسلت لي تصدير عبر البريد الإلكتروني ، نعم؟"
"بالطبع يا سيدي."
"حسنًا ، فقط ادفع عندما يتم نسخ الماكينة ، لدي بالفعل دليل على الانتهاء منه في الوقت المحدد."
"يا جي ، دكتور ريتش ، أنت تضخم!"

نصائح أخرى

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

تعديل

أفضل طريق MSW. نظام التحكم في الإصدار سيوفر لك الكثير من المتاعب والمشاكل. * tips hat to msw*

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