CGBeginner

映画好きの個人CGクリエイターが試行錯誤した記録

フォローボタン

コマンドプロンプトからメールを送る方法

WindowsOSには、「コマンドプロンプト」と呼ばれる、コマンドでいろいろな操作を実行する機能があります。CUIってやつですかね。俗に言う「黒い画面」ってやつです。

このコマンドたちをテキストファイルにかきこんで保存したものをBatファイル(バッチ)といい、いろんな自動処理に一役買ってくれます。

バッチという言葉を聞いたことすらない人は、以下のサイトが参考になるかもしれません

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

今回は、コマンドラインからメールを送信することができるソフトウェアを紹介します。これがあれば、バッチ処理が終了したら自分にメールを送って知らせるといったことが簡単にできるようになります。

スポンサードリンク

フリーソフト「smail」

Eva LibRaryさんが作者の、純正国産メーラーソフトです。

https://www.picolix.jp/page3.html

からダウンロードできます。「SMAIL コマンドライン型送信専用メールソフト」の部分から、ダウンロードしてください。

ダウンロードしたZIPファイルを解凍したら、「smail.exe」をダブルクリックしてください。以下のようなウィンドウが開きます

smail

ここで初期設定をします。「smail.ini」を直接いじってもよさそうです。

ここでは、Gmailを例に設定します。上の画像で、「メール」「パスワード」となっている部分を自分のものに変更しましょう。

batファイルに、以下のようなコマンドを書きます。

"C:\XXXXXX\smail-v4.191\smail.exe" -hsmtp.gmail.com -fXXXXXXXX@gmail.com -s"件名" -F本文を書いたテキストファイル -a添付ファイル 送信先メールアドレス -d -i

-hと「smtp~~」の間にスペースを挟まないように注意してください。

以下、Readmeファイルからの抜粋です

---------------------------------------------------------------------------------
* -h: メールサーバ名又はIPアドレス
* user1@xxx.co.jp,[[BCC:]user2@xxx.co.jp],...
送信先メールアドレス(カンマ区切りで複数指定可能)
CC:をメールアドレス頭に付加したものは、CC扱いとなります。
BCC:をメールアドレス頭に付加したものは、BCC扱いとなります。
---------------------------------------------------------------------------------
-f: 送信者名 : -f"Eva <info@picolix.jp>" ←ニックネームを付けたい時 (漢字可能別途仕様)
: -finfo@picolix.jp
-r: 送信者名 : [Replay-to]を指定したい時に使用します。
※このオプションではニックネームは使用できません。

-rinfo2@picolix.jp
メールソフトで返信すると,-fで指定した送信者名よりもこちらが選択されます。
全員に返信すると,-r,-fで指定した両方の送信者名に送信されます。
-r
送信者名を指定しない場合は、-fの送信者名を代用します。
-n: 開封確認返信メールアドレス : -naaaa@bb.cc.dd
受信者が、開封送信許可していれば開封時にaaaa@bb.cc.dd宛てに開封済みメールが
送信されます。
-s: サブジェクト
-F: 本文内容テキストファイル名
-T: 本文内容 -Fよりも優先される
-a: 添付ファイル名 (カンマ区切りで複数可能)
-p: プライオリティー -p4以下は、重要度高 -p5以上は重要度低  : -p1 ~ -p9
-t: NTタイムゾーン調整オプション
-S: サイレントモード(エラー表示しない)
-d: デバッグ表示モード
-i: インフォメーション表示モード
-m: Message-IDの付加 -mで自動 -mxxxxxxxでxxxxxxxを付加
-L: SSLでTLSを使用する。(デフォルトは、SSLv2v3を使用)
-l: STARTTLSでSSLを開始する。
-x: htm,htmlの添付ファイルは、Content-Type:text/htmlとして出力する。
-B: 文字列を暗号化し表示。-Bxxxxxxで???????を出力。-Bは複数可能。他オプションは無視します。
-c: -c
キャラクターセット:ISO-2022-JP エンコード 7bit (-c未指定時のデフォルトです。)
-cj
キャラクターセット:ISO-2022-JP エンコード 7bit
-cu8
キャラクターセット:UTF8 エンコード 8bit
-cub
キャラクターセット:UTF8 エンコード base64
-cuq
キャラクターセット:UTF8 エンコード quoted printable
-?: オプションヘルプ

*部は必須です。

エラーが帰ってくる

上の方法でうまく行った人はいいですが、私はうまく行きませんでした。理由は、

Googleが「安全性の低いアプリがアカウントにアクセスするのをブロック」しているからです。セキュリティ的にはいいことでしょうが、これのせいでうまく行きませんでした。自己責任でこれを許可するか、メール送信用のGmailアカウントをもう一つ作ってしまうというのもありでしょう。

安全性の低いアプリがアカウントにアクセスするのを許可する – Google アカウント ヘルプ

こちらから、設定を変更して下さい。直リンクも貼っておきます。 [安全性の低いアプリ]

また、Gmail の2段階認証を設定している人もうまくいかないようです。2段階認証を設定している場合にサードパーティ製アプリからGmailアカウントにアクセスする時は、アプリケーション固有パスワードを発行して設定する必要があります。

アプリ パスワードでログイン – Google アカウント ヘルプ

設定ページへの直リンクはこちら。[アプリ パスワード]

スポンサードリンク

-コンピュータ