🔪
SwaksでSendGridからメールを送る
Swaksとは?
Swaks(Swiss Army Knife for SMTP)はコマンドラインで簡単にメールが送れるツールです。apt-getやapt,yum,homebrewでインストールできます。
使い方
SendGridのSMTPを利用する場合は以下の内容で送れます。
swaks --to to@example.com --from from@example.com
--server smtp.sendgrid.net --port 587
--auth-user apikey
--auth-passwor SG.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
オプションはそれぞれ短く指定できます。
swaks -t to@example.com -f from@example.com
--s smtp.sendgrid.net -p 587
-au apikey
-ap SG.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
実行結果
実行するとSMTPのやりとりが確認できます。私はこれまでtelnetを使ったり、shellで実行したりしてきたのですが、swaksなんで知らなかったんだ...感がすごいです。
=== Trying smtp.sendgrid.net:587...
=== Connected to smtp.sendgrid.net.
<- 220 SG ESMTP service ready at geopod-ismtpd-3-1
-> EHLO 68e051151183
<- 250-smtp.sendgrid.net
<- 250-8BITMIME
<- 250-PIPELINING
<- 250-SIZE 31457280
<- 250-STARTTLS
<- 250-AUTH PLAIN LOGIN
<- 250 AUTH=PLAIN LOGIN
-> AUTH LOGIN
<- 334 VXNlcm5hbWU6
-> YXBpa2V5
<- 334 UGFzc3dvcmQ6
-> Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<- 235 Authentication successful
-> MAIL FROM:<from@example.com>
<- 250 Sender address accepted
-> RCPT TO:<to@example.com>
<- 250 Recipient address accepted
-> DATA
<- 354 Continue
-> Date: Sat, 29 Jan 2022 08:54:31 +0000
-> To: to@example.com
-> From: from@example.com
-> Subject: test Sat, 29 Jan 2022 08:54:31 +0000
-> Message-Id: <20220129085431.003503@68e051151183>
-> X-Mailer: swaks v20190914.0 jetmore.org/john/code/swaks/
->
-> This is a test mailing
->
->
-> .
<- 250 Ok: queued as ltDWYzbaRZikkfKFT5LgKA
-> QUIT
<- 221 See you later
=== Connection closed with remote host.
その他オプション
コマンドベースに色々な値を指定できます。
件名(Subject)
--header 'Subject: hello'
または
--h-Subject hello
本文
--body hello
または
-b hello
本文をファイルで指定
次のようなファイルを用意します。
hello.txt
hello
--data hello.txt
または
-d hello.txt
MIME
テキストとHTMLのマルチパートメールを送る場合は次のように指定できます。
--attach-type text/plain --attach-body 'hello'
--attach-type text/html --attach-body '<strong>strong</strong>'
Discussion