STARTTLSでSMTP認証 Gmailをメーラーとして使う
STARTTLSでSMTP認証を利用しているだろうか?Gmailはメーラーとしても利用することができる。また、STARTTLSでSMTP認証が可能であれば、送信サーバをGmailではなく作成したメールサーバ(Postfix)に任せることもできる。ただし、検証は2025年7月現在のため、いつまでこの設定が利用できるかはわからない。
関連記事:AlamaLinux9のPostfixにDKIM導入、SASLユーザの追加
メール送信のガイドライン
STARTTLSでSMTP認証とは?
✅ STARTTLSとは?
- SMTP通信において、プレーンテキスト接続をTLS(暗号化)に昇格させる拡張コマンド
- ポート:通常587(submission)または25番ポート
- SMTPセッションの中で
STARTTLS
を送って TLS 暗号化を開始
✅ SMTP認証(AUTH)とは?
- メール送信者が正当なユーザーであることを確認するための認証
- コマンド例:
AUTH PLAIN
,AUTH LOGIN
,AUTH CRAM-MD5
など - 暗号化されていない接続では危険なので、TLSが始まってから認証を行う
📥 典型的な通信の流れ(587ポート)
markdownコピーする編集する1. クライアント: 接続 (587/tcp)
2. サーバ: EHLO に応答(STARTTLS をサポート表明)
3. クライアント: STARTTLS 要求
4. TLS ハンドシェイク(ここから通信は暗号化)
5. クライアント: EHLO(再送)
6. クライアント: AUTH PLAIN または LOGIN(認証情報を暗号化して送信)
7. サーバ: 認証成功(235)
8. 通常のSMTP処理へ(MAIL FROM, RCPT TO, DATA...)
STARTTLS SMTP認証をするためのSMTPサーバの構築
名前のとおりTLSなので、Let's Encrypt の Certbotを利用することにする。また、構築するための構成・仕様は次のとおりとする。
メーラー:Gmail
メールアドレス:ispace@starttls.aquila.jp
ドメイン:aq3starttls.aquila.jp
SMPT認証方式:STARTTLS (PLAIN LOGIN)
SMPPポート:587
POP3ユーザ名:ispace
POP3パスワード:PASSWORD
POP3ポート:110番
dnf install certbot
dnf install postfix dovecot
certbot certonly --standalone \
-d aq3starttls.aquila.jp \
-m certbot@aq3starttls.aquila.jp \
--agree-tos -n
vi /etc/aliases
certbot: root
newaliases
vi /etc/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
AlmaLinux9であればデフォルトのままでOK
cd /etc/postfix/
cp main.cf main.cf.org
vi main.cf
myhostname = aq3starttls.aquila.jp
mydomain = aq3starttls.aquila.jp
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP unknown
smtpd_tls_cert_file = /etc/letsencrypt/live/aq3starttls.aquila.jp/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/aq3starttls.aquila.jp/privkey.pem
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
cp master.cf master.cf.org
vi master.cf
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
systemctl restart postfix
STARTTLSの動作確認
printf '\0ispace@aq3starttls.aquila.jp\0PASSWD' | base64
XXXXZUBhcTNzdGFydHRscy5hcXVpbGEuanDDQW1lbm9oaTY3JA==
①base64で暗号化しておく
openssl s_client -connect aq3starttls.aquila.jp:587 -starttls smtp
Start Time: 1753579755
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0
---
read R BLOCK
AUTH PLAIN XXXXcGFjZUBhcTNzdGFydHRscy5hcXVpbGEuanDDQW1lbm9oaTY3JA==
235 2.7.0 Authentication successful
② 1のパスワードを利用する
これで、PostfixでSTARTTLSの認証が成功したことが分かる
Gmailをメーラーとして使うための設定
特別な設定は不要なので、DovecotなどでPOP3あるいはPOP3Sの設定を行おう。POP3も利用可能なのでセキュリティ的によろしくないが、最低限の受信設定を行う。
cd /etc/dovecot/conf.d/
vi 10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login
vi 10-mail.conf
mail_location = maildir:~/Maildir
vi 10-master.conf
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
#port = 995
#ssl = yes
}
}
vi 10-ssl.conf
ssl = no
systemctl start dovecot
systemctl enable dovecot
SMTP認証をcyrus-saslを利用する場合
SMTP認証をUNIXログインを使わずSASL2で共通パスワードを利用する
vi /etc/sasl2/smtpd.conf
#pwcheck_method: saslauthd
#mech_list: plain login
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: cram-md5 digest-md5 plain
saslpasswd2 -c -u aq3starttls.aquila.jp smtpauth
chgrp postfix /etc/sasl2/sasldb2
chmod 640 /etc/sasl2/sasldb2
systemctl restart saslauthd
STARTTLSを利用してGmailをメーラーとして使う
- Gmailにログイン(
@gmail.com
でも@yourdomain.com
でも可) - 右上の「⚙️ 設定」 → 「すべての設定を表示」
- 「アカウントとインポート」タブを開く
- 「名前」→ 「他のメールアドレスを追加」 をクリック
- 以下のように入力:
項目 | 入力内容 |
---|---|
名前 | 任意(例:送信者名) |
メールアドレス | 例:ispace@aq3starttls.aquila.jp |
ユーザー名 / パスワード | ispace / PASSWORD |
SMTP サーバー | 例:aq3starttls.aquila.jp |
ポート | 587 |
ユーザー名 | smtpauth / PASSWORD |
セキュリティ方式 | TLSを使用する(推奨) を選択 |








Gmailに届いたメールをクリックしてGmailの認証を受けよう。