2026年9月14日

2026年9月14日

外部メールサービス(SendGrid/Mailgun)をSMTPリレーに使う方法

はじめに

WordPressサイトの管理者は、自前のメールサーバを所有していない場合でも、外部のSMTPサービスを使用してメールを送信することができます。SendGridやMailgunはその代表的な例であり、これらのサービスは送信用のSMTPアカウントとAPIキーを提供します。この記事では、Linuxサーバ上で外部SMTPリレーとしてSendGrid/Mailgunを利用する方法について解説します。

症状・背景

  • WordPressサイトから大量のメールを送信しようとするが、自前のメールサーバがない場合。
  • サイトのドメインを確立し、SPF/DKIM/DMARCなどのDNSレコード設定を行う必要がある場合。
  • 自身のメールサーバに依存せず、より柔軟なメール送信用サービスを利用したい場合。

手順・設定方法

ステップ1: SendGrid/Mailgunアカウントの取得とAPIキーの取得

まず、SendGridやMailgunのアカウントを作成し、APIキーを取得します。

# APIキーの取得(ここでは仮想的な手順)
curl -u 'api_key' https://api.sendgrid.com/v3/api_keys > api_key.json

ステップ2: PostfixにSMTPリレーサービスを設定する

PostfixはLinuxサーバ上での標準的なメール送信用MTAです。ここではPostfixにSendGrid/MailgunをSMTPリレーとして追加します。

# Postfixのコンフィグファイルを編集
sudo nano /etc/postfix/main.cf

# 以下を追記
relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
mynetworks = 127.0.0.0/8

# SASLパスワードファイルを作成
echo "[smtp.sendgrid.net]:587 API-KEY-HERE" | sudo tee /etc/postfix/sasl_passwd > /dev/null

# ファイルの権限を設定
sudo chmod 600 /etc/postfix/sasl_passwd

# ファイルをハッシュ化
sudo postmap /etc/postfix/sasl_passwd

# Postfixを再起動
sudo systemctl restart postfix

ステップ3: SPF/DKIM/DMARC設定の追加

これらのDNSレコードは、メール送信時にサーバが確認するための重要なものであり、外部SMTPリレーを使用している場合にも必要です。

# SPFレコードを追加(例)
echo "v=spf1 include:sendgrid.net ~all" | sudo tee /etc/mail/spf.txt > /dev/null

# DNS RecordsにSPFレコードを反映
sudo postconf -e 'milter_default_action = accept'
sudo postconf -e 'non_smtpd_milters = $local_path:$smtpd_milters'

# DKIM/DMARCの設定(ここでは簡略化)
echo "k=rsa; p=MIGfMA0GCSqGSI... (DNS区切り)" | sudo tee /etc/mail/dkim.key > /dev/null
echo "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSI... (DNS区切り)" | sudo tee /etc/mail/dkim.txt > /dev/null

# DNS RecordsにDKIM/DMARCレコードを反映

ステップ4: 実践/トラブルシュート/監視

メール送信テストを行い、問題がなければ定期的に監視します。

# テスト用のメールを送る
echo "Hello World" | mail -s "Test Subject" example@example.com

# 生成されたログを確認する
sudo tail /var/log/mail.log

注意事項

  • APIキーは厳重に管理し、漏洩しないように注意してください。
  • SPF/DKIM/DMARCの設定が適切であることを常に確認します。
  • メール送信量が多い場合、SendGrid/Mailgunの使用料金を考慮に入れてください。

まとめ

1. APIキーの取得: SendGridやMailgunでアカウントを作成し、APIキーを取得します。

2. Postfix設定: PostfixにSMTPリレーサービスとしてSendGrid/Mailgunを追加します。

3. DNSレコード設定: SPF/DKIM/DMARCなどのDNSレコードを設定します。

4. 実践と監視: テストを行い、定期的にログを確認します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲