Domanda

Sono alla ricerca di consigli su come configurare un gateway di posta elettronica in modo gli studenti mi può email compiti a casa e l'e-mail saranno elaborati automaticamente.

Per esempio, se uno studenta@univ.edu mi e-mail con oggetto "CS208 HW1", mi avrebbero attraversato il check studenta in un elenco di studenti che CS208, poi prendere tutti i file allegati, li discarica in HW1 dello studente cartella e rispondere con un e-mail indicando quali file sono stati ricevuti e quando. Se e-mail dello studente è stato non valido in qualche modo come il cattivo soggetto, o di file mancanti, il servizio avrebbe inviato una e-mail appropriato.

Ho accesso amministrativo a una macchina Linux on-campus che potrebbe essere configurato come server di posta elettronica.

Lì per lì ho pensato di usare fetchmail e un job cron per leggere in modo coerente e-mail di un utente designato ed eseguire le risposte adeguate con un qualche tipo di script. Questo suona come un buon modo per andare? Gradirei un'idea migliore?

È stato utile?

Soluzione

Mi aspetto che, in pratica, non ci sarà molto, molto più eccezioni a qualunque regole che prescrivono che ci sarà posta conforme che è correttamente gestita. Sarete voi stessi comprando un mal di testa di correzioni manuali e "il computer ha mangiato i miei compiti" reclami.

Dal momento che si tratta di una classe di livello CS 200, chiedere loro di usare qualche sistema di controllo di versione e risparmiare i problemi di analisi in formato libero, e-mail con la struttura rigida che un VCS impone. I vostri studenti potranno beneficiare anche dal requisito. Se il mio 10-year-old potuto apprezzare il merito di controllo automatico di revisione all'interno di Google Docs, sto cercando di indovinare gli studenti possono gestire Mercurial o git o addirittura (gasp!) Subversion.

aggiunto in risposta al commento

Si, ma con Mercurial (e presumibilmente git) "repository" è una parola di fantasia per "directory" e non è il peso massimo DBMSy thingy che i modelli più vecchi possono VCS si hanno portato ad aspettare.

Ecco come da studente mi aspetterei di lavoro su un ipotetico incarico:

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 
...

Le assegnazioni nel repository dello studente c'è posto per te era solo per il gusto di dimostrazione. Dal momento che "proprio" la macchina Rich.unix.edu, le loro spinte diventano autorevoli. Faresti

  1. Scrivi una (piccola) script per hg init $student/cs208 su Rich.univ.edu per ogni studente nel roster.
  2. Figura se HTTPS o SSH funziona meglio nel proprio ambiente
  3. Aggiungi il commento - se lo si desidera - ai file degli studenti che avevano salire su loro prossimo tiro
  4. avere un gestito, comodo, registrato record di tutte le interazioni.
  5. Gli studenti ricevono un feedback affermativa al momento della spinta che è stato accettato

Infine, se il server di repository essere giù potevano

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

E tu saresti ancora avere un timestamp, la versione digerito della loro presentazione che ha un formato rigido che si potrebbe impegnarsi per loro, o meglio ancora:

  

"Il Dott. Rich, il server era giù !!!"
  "Ma   tu mi hai mandato un export via e-mail,   Sì? "
  "Certo, signore."
  "Beh, basta   spingere quando la macchina è di nuovo su, io   già avere la prova di aver completato   in tempo. "
  "Oh accidenti, il dottor Rich, sei   gonfiano! "

Altri suggerimenti

Personalmente, vorrei il tifo per una pagina con una finestra di upload e anche la possibilità per elencare i file attuali e magari un server FTP. Il problema con la posta elettronica è, che la trasmissione fino a quando il server è fuori dalla vostra portata, come la posta viene processato da altri server che proprio sulla strada. Mail potrebbero essere persi o alterati sulla strada, non tutti i server potrebbero accettare gli allegati di una certa dimensione o tipo. Anche se l'idea è abbastanza buona, penso che produrrebbe un meno soluzione ottimale rispetto ad altri, come la pagina menzionati o server ftp.

modifica

preferirei preferisca il senso di rifiuti solidi urbani. Un sistema di controllo di versione avrebbe risparmiato molta fatica e problemi. * tips hat to msw*

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top