SMTPのRelay access denied の原因

目次
Relay access denied の原因と対処方法を解説
SMTPサーバを運用していると、メール送信時に「Relay access denied」というエラーが表示されることがあります。
これはPostfixやExchangeなどのメールサーバで非常によく発生するトラブルの一つです。
特にSMTPサーバを構築した直後や、メールクライアントの設定変更後によく発生します。
このエラーはメールリレーが許可されていないことを意味しています。
本記事ではRelay access deniedエラーの原因や確認方法、対処方法について解説します。
Relay access deniedとは
Relay access deniedは「メールリレーが拒否された」という意味です。
SMTPサーバがメールの中継を許可していない場合に発生します。
代表的なエラー例です。
554 5.7.1 Relay access deniedメール配送が拒否されたことを意味します。
メールリレーとは
メールリレーとは、SMTPサーバが他のメールサーバへメールを中継することです。
例えば次のような流れです。
PC ↓ SMTPサーバ ↓ Gmail
SMTPサーバがメールを中継しています。
なぜリレー制限があるのか
もし誰でも自由にメールリレーできると、スパムメール送信に悪用されてしまいます。
そのため現在のSMTPサーバは基本的にリレー制限を行っています。
認証された利用者のみ送信を許可するのが一般的です。
オープンリレーとの関係
昔のSMTPサーバにはオープンリレーと呼ばれる設定が存在しました。
誰でも自由にメールを送信できる状態です。
誰でも送信可能
↓
スパム送信
↓
ブラックリスト登録
現在では非常に危険な設定とされています。
よくあるエラーメッセージ
実際には次のようなメッセージが表示されます。
Relay access denied
または
554 5.7.1 Relay access deniedSMTPサーバによって表記が異なります。
原因1 SMTP認証していない
最も多い原因です。
SMTP-AUTHを利用せず送信しようとすると発生します。
認証なし
↓
リレー拒否
メールクライアント設定を確認しましょう。
SMTP認証とは
SMTPサーバへログインする仕組みです。
通常は以下を利用します。
- ユーザー名
- パスワード
認証成功後にメール送信が許可されます。
原因2 メールソフトの設定ミス
OutlookやThunderbirdなどでSMTP認証が無効になっている場合があります。
確認項目です。
- 送信サーバ認証
- SMTPユーザー名
- SMTPパスワード
設定漏れがよくあります。
原因3 ユーザー名の誤り
SMTP認証時のユーザー名が間違っている場合です。
例えば以下です。
student
ではなく
student@example.com
が必要な環境もあります。
原因4 パスワード誤り
認証に失敗しているケースです。
ログには次のように表示されることがあります。
authentication failedパスワードを確認しましょう。
原因5 mynetworks設定不足
Postfixではmynetworksに登録されたネットワークからの送信を許可できます。
例です。
mynetworks =
127.0.0.0/8
192.168.60.0/24送信元IPが含まれているか確認します。
mynetworksとは
SMTP認証なしで送信を許可するネットワークです。
社内LANなどが登録されます。
設定ミスでリレー拒否になることがあります。
原因6 relay_domains設定ミス
relay_domains設定に問題がある場合です。
メール配送対象ドメインが許可されていないことがあります。
設定内容を確認しましょう。
原因7 mydestination設定ミス
ローカル配送対象ドメインが不足している場合です。
例です。
mydestination =
$myhostname
localhost対象ドメインが含まれているか確認します。
mydestinationとは
SMTPサーバ自身が受信するドメインです。
登録されていないドメイン宛メールは外部配送扱いになります。
設定ミスの原因になりやすい項目です。
原因8 submissionポート未使用
587番ポートを利用すべき環境があります。
25番ポートでは認証が要求されない場合があります。
推奨設定を確認しましょう。
原因9 Gmail送信設定ミス
GmailのSMTPサーバを利用する場合です。
smtp.gmail.com認証情報やポート番号を確認します。
原因10 Microsoft 365設定ミス
Microsoft 365でも認証が必要です。
SMTP認証が無効になっている場合があります。
管理センターで確認しましょう。
Postfixログの確認方法
ログ確認が最も重要です。
# tail -f /var/log/maillog
または
#journalctl -u postfix -fエラー原因が記録されています。
典型的なログ例
Relay access denied
または
Client host rejected送信元情報と合わせて確認します。
SMTP認証設定確認
Postfixでは以下を確認します。
smtpd_sasl_auth_enable = yes認証機能が有効である必要があります。
リレー制御設定確認
重要な設定です。
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination一般的な推奨設定です。
telnetで確認する
SMTP応答を確認できます。
# telnet localhost 25SMTP接続後の応答を確認します。
実務で最も多い原因
実際の現場では以下が多く見られます。
- SMTP認証設定漏れ
- パスワード誤り
- Outlook設定ミス
- mynetworks設定不足
まずは認証関連を疑うことが多いです。
切り分け手順
効率的な調査手順です。
- ログ確認
- SMTP認証確認
- メールソフト設定確認
- mynetworks確認
- mydestination確認
- relay設定確認
順番に確認すると原因を特定しやすくなります。
オープンリレーにしないこと
エラー解消のためにリレー制限を無効化するのは危険です。
スパム送信に悪用される可能性があります。
適切な認証設定で対応しましょう。
まとめ
Relay access deniedはSMTPサーバがメールリレーを拒否したことを意味します。
最も多い原因はSMTP認証の設定ミスや認証情報の誤りです。
また、mynetworksやmydestinationなどのPostfix設定も関係することがあります。
まずはログを確認し、SMTP認証とリレー制御設定を中心に調査することが解決への近道です。





