毎年恒例の作業,2日程度で終わるかと思ったら,1週間かかりました.
前期月曜演習科目の最終回,グループワークの完成披露のあと,各自で振り返りを行い,提出してもらった答案に対し,こちらからフィードバックのメールを送る作業です.「グループ得点×個人の貢献度」を算出し,メールの本文に入れています.グループ得点は最大40点,個人の貢献度は,きちんと活動をしていれば1で,そうでなければ減点します.
作業は「グループと個人の状況をExcelのワークシートにする」と「ワークシートの内容から個人ごとにメールを作成して送る」に分かれます.前者は例年通りです*1.後者は,変更しないといけません.というのも,昨年度までは,独自のRubyスクリプトをもとに,自室で稼働させていたLinuxサーバにSMTPで接続して送付していたのですが,今春にメールサーバ機能を停止したのでした.
前々から興味のあった,Google Apps Scriptで,メールを送ることにしました.Microsoft 365のアカウントではなく,Googleのサービスが使える生涯アカウント(COCOアカウント)を使用します.
1通送るコード例は,検索すると容易に見つかりました.
グループと個人の状況のExcelファイルは,Googleスプレッドシートとしてアップロードし,以下を参考に,スクリプトから参照するようにしました.
値の獲得(そしてJavaScriptのコーディングを思い出すこと)と,メール本文の作成に2日を要し,テストメール(自分宛)と本番メール(各学生宛)は,今日の午後にコードを書いて実行しました.
送信済みメールの本文を見て,ぎょっとしました.あるグループだけ,グループの評価の途中に「テスト」と書かれています.Googleスプレッドシートに,読み出し確認用にと「テスト」と書いていたのを,消し忘れていました.該当の学生には,手動でお詫びメールを送りました.