Macでコマンドライからメールを送れるようにする に引き続き、WindowsでCygwinからコマンドラインでメールを送るように設定する方法。
Cygwinではemail http://www.cleancode.org/projects/email
が配布されてるのでこれを使います。
setupファイルで取ってくるか、
apt-cygで
$ apt-cyg install email
でインストールできます。
email
はmail
コマンドと違って送信専用です。
その代わり、sendmail
等外部のプログラムを使わないでも、
SMTPサーバーに直接つなげてメールを送ることが出来ます。
送る分にはmail
コマンドとほぼ同じような使い勝手です。
email
にはemail-config
という設定コマンドがついてるので
インストール後に実行:
$ email-config
Please enter your From: name (e.g., John Doe) []: rcmdnk
Please enter your From: email address []: [email protected]
Please enter your Reply-to: email address []:
Enter 1 to use sendmail or 2 to use a SMTP server [1]: 2
Please enter the address of your SMTP server [127.0.0.1]: smtp.gmail.com
Please enter the SMTP port number [25]: 587
Please select SMTP authentication (1 for none, 2 for LOGIN, 3 for PLAIN) [1]: 2
Please enter your SMTP username []: [email protected]
Please enter your SMTP password []:
Use TLS (true or false)? []: true
Please check the configuration file /etc/email/email.conf for correctness.
こんな感じで。選ぶところとしては、sendmail (1)
ではなくSMTP server (2)
として、Macの時同様
GmailのSMTPサーバーを使います。
ポートも同じく587にしてTLSを使うように 1。
これで/etc/email/email.conf
に設定が書き込まれ、email
が使える様になります。
$ echo test mail from Cygwin! | mail [email protected]
として送れればOK。
email
の場合は上記のSMTPサーバーのパスワードが
/etc/email/email.conf
のSMTP_AUTH
のパートに平文で書かれて保存する様になっていますので管理には気をつけて下さい。
パスワードを入力しなければ(消せば)毎回尋ねられる様になりますが使えることは使えます。
cron
なんかで使いたい場合は書いておかないと駄目ですが、
手動で送るだけならば、できれば毎回手打ちのが良いです。
送信専用のSMTPサーバーのためのフリーのメールアドレスでも取って 使うと良いかもしれません。その場合は送るのも漏れても大丈夫な様なものだけにしたり。
LinuxやMacとシームレスに使うために、
if [[ "$OSTYPE" =~ "cygwin" ]];then
alias mail='email'
fi
こんな感じで.bashrc
に書いてmail
にalias
を張っておくと便利かと。
CygwinでSMTPサーバーを自身でたちあげたい時は、 eximがパッケージとしてCygwinで使える様になってるので Cygrunsrvを用いて常時Windowsで動くサーバーにすることも出来ます 2。
Siamnet: Wiki/Cygwin Mail Server Exim↩