Хотите автоматически обрабатывать вложения электронной почты на основе имени пользователя и темы - PullRequest
3 голосов
/ 23 августа 2010

Мне нужен совет по настройке шлюза электронной почты, чтобы студенты могли отправить мне домашнее задание по электронной почте, и электронное письмо будет обработано автоматически.

Например, если studenta@univ.edu отправит мне электронное письмо с темой«CS208 hw1», я проверял студентов в списке студентов, принимающих CS208, затем брал все прикрепленные файлы, помещал их в папку hw1 этого студента и отвечал по электронной почте с указанием, какие файлы были получены и когда.Если электронная почта студента была искажена каким-либо образом, например, плохой предмет или отсутствующие файлы, служба отправит соответствующее электронное письмо.

У меня есть административный доступ к компьютеру Linux в кампусе, который можно настроить как электронную почтуserver.

Offhand Я думал об использовании fetchmail и задании cron для последовательного чтения электронной почты назначенного пользователя и выполнения соответствующих ответов с помощью какого-либо сценария.Это звучит как хороший способ пойти?Я бы приветствовал лучшие идеи?

Ответы [ 3 ]

2 голосов
/ 23 августа 2010

Я ожидаю, что на практике будет гораздо больше исключений из правил, которые вы предписываете, чем будет соответствующая почта, которая обрабатывается должным образом.Вы купите себе головную боль от ручных исправлений и претензий «компьютер съел мою домашнюю работу».

Поскольку это класс уровня CS 200, потребуйте от них использования некоторой системы контроля версий и избавьте себя от хлопотРазбор электронной почты в свободном формате с жесткой структурой, которую навязывает VCS.Ваши студенты тоже получат выгоду от этого требования.Если мой 10-летний может оценить достоинства автоматического контроля версий в Google Docs, я предполагаю, что ваши ученики могут работать с Mercurial или git или даже (задыхаться!) Subversion.

добавлено в ответ на комментарий

Да, но с Mercurial (и, по-видимому, git) «репозиторий» - это причудливое слово «каталог», а не тяжелая СУБД, что могло бы заставить вас ожидать более старые модели 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

И вы все равно будете иметьвременная метка, версия их представления, которая имеет жесткий формат, который вы могли бы зафиксировать для них, или, что еще лучше:

"Доктор Рич, сервер не работал !!!"
"Но вы отправили мне экспорт по электронной почте, да? "
" Конечно, сэр.
"Ну, просто нажмите, когда машина вернется, у меня уже есть доказательства того, что вы выполнили ее вовремя."
" Ой, доктор Рич, ты молодец! "

2 голосов
/ 23 августа 2010

Лично я бы поддерживал страницу с диалоговым окном загрузки, а также с возможностью перечисления текущих файлов и, возможно, FTP-сервера. Проблема с электронной почтой заключается в том, что передача до тех пор, пока сервер находится вне вашей досягаемости, поскольку почта обрабатывается другими серверами, а не вашими в пути. Почта может быть потеряна или изменена в пути, не все серверы могут принимать вложения определенного размера или типа. Хотя идея довольно хорошая, я думаю, что она даст менее оптимальное решение, чем другие, такие как упомянутая страница или FTP-сервер.

редактировать

Я бы предпочел путь Мсв. Система контроля версий избавит вас от многих хлопот и проблем. * tips hat to msw*

0 голосов
/ 23 августа 2010

Если у вас есть веб-интерфейс, то iMacros для Firefox может стать хорошим решением для автоматизации. Вы можете использовать встроенный Javascript для более сложных решений if / then:

...