インフラエンジニアbacchiのわかったことまとめ

bacchi.me

メールのテストにSwaksを使うと色々捗る

メール関係のテストにswaksが便利すぎるので、ご紹介。

簡単に添付ファイルを貼り付けれられたり、メールのテンプレート使えたりテスト以外にも使いどころがありそう。

swaksのインストール

基本的にyumapt-getでインストールできますが、インストール出来ない場合は以下のコマンドを実行します。

curl "http://www.jetmore.org/john/code/swaks/files/swaks-20130209.0/swaks" > /usr/local/bin/swaks ; chmod 755 /usr/local/bin/swaks

使い方

# swaks

を実行すると、

To:

と表示され、送信先メールアドレスを入れるとメールを送ってくれる。

[root@kotori] ~
# swaks 
To: bacchi*****@****.com
*** MX Routing not available: requires Net::DNS.  Using localhost as mail server
=== Trying localhost:25...
=== Connected to localhost.
<-  220 gealach.cs51didcfcloud.internal ESMTP Postfix (Debian/GNU)
 -> EHLO gealach
<-  250-gealach.cs51didcfcloud.internal
<-  250-PIPELINING
<-  250-SIZE 10240000
<-  250-VRFY
<-  250-ETRN
<-  250-STARTTLS
<-  250-ENHANCEDSTATUSCODES
<-  250-8BITMIME
<-  250 DSN
 -> MAIL FROM:<root@gealach>
<-  250 2.1.0 Ok
 -> RCPT TO:<bacchi*****@****.com>
<-  250 2.1.5 Ok
 -> DATA
<-  354 End data with .
 -> Date: Fri, 23 Oct 2015 14:44:44 +0900
 -> To: bacchi*****@****.com
 -> From: root@gealach
 -> Subject: test Fri, 23 Oct 2015 14:44:44 +0900
 -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
 -> 
 -> This is a test mailing
 -> 
 -> .
<-  250 2.0.0 Ok: queued as 7EB0F24F1F
 -> QUIT
<-  221 2.0.0 Bye
=== Connection closed with remote host.
</bacchi*****@****.com></root@kotori>

マニュアルは

# man swaks

# perldoc swaks

で参照できます。

便利なオプション

以下のオプションをよく使います。

  • -t: 宛先メールアドレス
  • -f: 送信元メールアドレス
  • --h-HEADER: Headerを付与する。HEADERは指定したいheader項目名をしていします。
  • --body: 本文。-で指定した場合は標準入力から。
  • -g: headerや本文を標準出力から受け取る。
  • --attach: 添付ファイル
  • --server: SMTPサーバを指定する。
  • --port: ポート指定。サブミッションポートを使う場合は587とか
  • -a: SMTP認証を行う
  • -au: アカウント
  • -ap: パスワード
  • B!