質問

私は、学生が私に宿題を電子メールで送ることができるように、電子メールゲートウェイのセットアップについてアドバイスを求めています。電子メールは自動的に処理されます。

たとえば、studenta@univ.eduが「CS208 HW1」の件名をメールで送信した場合、CS208を取得している学生のリストで学生をクロスチェックし、添付のすべてのファイルを取得し、その学生のHW1フォルダーに捨てて応答します。どのファイルが受信されたかを示すメールで。学生の電子メールが、悪い主題やファイルの欠落など、何らかの方法で奇形であった場合、サービスは適切なメールを送信します。

電子メールサーバーとして構成できるキャンパス内のLinuxマシンへの管理アクセスがあります。

Offhand FetchmailとCronジョブを使用して、指定されたユーザーのメールを一貫して読み取り、何らかのスクリプトで適切な応答を実行することを考えていました。これは良い方法のように聞こえますか?私はより良いアイデアを歓迎しますか?

役に立ちましたか?

解決

実際には、適切に処理されている適合メールがあるよりも、あなたが規定するどんな規則にもはるかに多くの例外があると思います。手動の修正の頭痛の種を購入し、「コンピューターは私の宿題を食べました」と主張します。

これはCS 200レベルのクラスであるため、バージョン制御システムを使用し、VCSが課す剛性構造を含むフリーフォーマット電子メールの解析の手間を節約する必要があります。あなたの生徒は要件からも恩恵を受けるでしょう。私の10歳の子供がGoogleドキュメント内の自動改訂制御のメリットに感謝している場合、生徒は水銀やGit、さらには(猫!)転覆を処理できると推測しています。

コメントに応じて追加されました

はい、しかし、Mercurial(およびおそらくGit)では、「リポジトリ」は「ディレクトリ」の派手な言葉であり、古いVCSモデルが期待するようなヘビー級のDBMSYのものではありません。

学生として、私が仮想的な割り当てに取り組むことを期待する方法は次のとおりです。

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