TOP

muttでコマンドラインでメール送受信する

2017-03-21 10:51:44

インストール

$ sudo apt-get install -y mutt msmtp

設定(~/.muttrc)

Gmailの場合、muttは「安全性の低いアプリ」とGoogle側にみなされるため、Google側で「安全性の低いアプリへのアクセスを許可」という操作をする必要があります

確か、OAuth2.0に対応していないからとかそんな理由だった気がするけど、結果敵には受信には使わず、送信のみSendgridで行うようにしました

一応、「安全性の低いアプリへのアクセスを許可」した場合に受信出来た設定を載せておきます

ignore *
unignore from to replay-to date subject user-agent x-mailer content-type content-transfer-encoding

set charset="utf-8"
set assumed_charset="iso-2022-jp:euc-jp: shift_jis:utf-8"
set attach_charset="iso-2022-jp:euc-jp: shift_jis:utf-8"
set send_charset="us-ascii:iso-8859-1:iso-2022-jp:utf-8"

set folder="imaps://(自分のGmailアドレス)@imap.gmail.com"
set imap_user="(自分のGmailアドレス)"
# set smtp_url="smtps://(自分のGmailアドレス)@smtp.gmail.com" # Sendgridに変更→.msmtprc
set spoolfile="imaps://(自分のGmailアドレス)@imap.gmail.com/INBOX"
send-hook . 'my_hdr From: (自分のGmailアドレス)'

set uncollapse_jump=yes
set edit_headers=yes
set implicit_autoview=yes
set move=no

set editor="/usr/bin/vim"
set realname="(送信者の名前)"
set sendmail="/usr/bin/msmtp -a (後述の.msmtprcに記載する「account」名)"

設定(~/.msmtprc)

Sendgridを使用しています

account (任意)
host smtp.sendgrid.net
port 587
user (Sendgridアカウント)
password (Sendgridパスワード)
from (Fromアドレス)
tls on
tls_starttls on
tls_certcheck off
auth on
logfile ~/.msmtp.log

送信

// 通常起動 → 起動して[m]押せば、新規メール作成
$ mutt

// テキストファイルから送信 → 送信しかしないので、主にこっち使ってます
$ mutt -s (題名) -c (Ccアドレス) -c (Ccアドレス) (Toアドレス) < (テキストファイルへのPath)
$ mutt -s `date +%m月%d日`送信てすと -c cc1@example.com -c cc2@example.com to@example.com < ./me-ru.txt