rcmdnk's blog

メール道

Macでコマンドライからメールを送れるようにする に引き続き、WindowsでCygwinからコマンドラインでメールを送るように設定する方法。

email

Cygwinではemail http://www.cleancode.org/projects/email が配布されてるのでこれを使います。 setupファイルで取ってくるか、 apt-cyg

$ apt-cyg install email

でインストールできます。

emailmailコマンドと違って送信専用です。 その代わり、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.confSMTP_AUTHのパートに平文で書かれて保存する様になっていますので管理には気をつけて下さい。

パスワードを入力しなければ(消せば)毎回尋ねられる様になりますが使えることは使えます。 cronなんかで使いたい場合は書いておかないと駄目ですが、 手動で送るだけならば、できれば毎回手打ちのが良いです。

送信専用のSMTPサーバーのためのフリーのメールアドレスでも取って 使うと良いかもしれません。その場合は送るのも漏れても大丈夫な様なものだけにしたり。

LinuxやMacとシームレスに使うために、

if [[ "$OSTYPE" =~ "cygwin" ]];then
  alias mail='email'
fi

こんな感じで.bashrcに書いてmailaliasを張っておくと便利かと。

CygwinでSMTPサーバーを自身でたちあげたい時は、 eximがパッケージとしてCygwinで使える様になってるので Cygrunsrvを用いて常時Windowsで動くサーバーにすることも出来ます 2

Sponsored Links
Sponsored Links

« MacでGmailのSMTPサーバーを使ってコマンドラインからメールを送れるようにする VimでのMarkdown環境を整える »

}