作成理由
・自動でメールを送信し、各個人の勤怠管理の締め処理を促したい
目指す機能
・勤怠管理システム自体に手を加え、締めを実行していない人にメールを自動で出すようにしたい
→修正するための技術が現時点では足りないため、見送り
・自動で全員にメール送信を行い、締め処理を促す
→バッチを作成し、Windowsのスケジューラーで実行するなら負荷が少なそうなので、この方針で作成
2019/01/27時点での作業です。
やるべきこと
1、SMAILの導入
a、SMAILの圧縮ファイルを下記LINKからダウンロードする。
https://www.picolix.jp/page3.html
b、SMAILのインストール
ダウンロードした圧縮ファイルを解凍し、その中にあるSMAIL.exeを実行する
c,下記URLを参考に、「SMTPユーザID」と「SMTPパスワード」を設定、保存して終了する(他はデフォルトで行けるはず)
https://jj-blues.com/cms/wantto-sendmailinbatfile/
2、バッチの作成
a、コンテンツファイルの作成
メール本文を作成し、SMAIL.exeと同じフォルダに配置してください
b、「sendmail.bat」というファイルを作成し、以下の内容を修正して保存してください。
"SMTPの文字列":利用するSMTPの指定
"送信先のメールアドレス":送りたいメールアドレスを記載。カンマ区切りで複数の宛先指定が可能。
"題名":メールの題名を指定してください
"コンテンツファイル名":aの手順で作成したファイル名を指定してください
"送信元メールアドレス":送信元のメールアドレスを指定してください
echo off
smail -hsmtp-"SMTPの文字列" -f"送信先のメールアドレス" -s"題名" -F"コンテンツファイル名" "送信元メールアドレス"
echo %DATE% %TIME%:%ERRORLEVEL% >> send.log
3、Windowsのタスクスケジュールに登録する。
以下URL参照でタスクスケジューラに登録する。
http://minto.tech/windows-taskscheduler/
社内の環境で試せたのが2番までだったので、ここから先は手抜き;;
以上になります。
ページ制作時間:およそ30分。(社内で実際に試した時間は除く)