

外部(出先)から自宅サーバー経由(postfix)でメール送信することができません。
・サーバー ubuntu
・MTA postfix
・プロバイダ ASAHI NET
・回線 au ひかり
【状態】
出先でメーラーを開いて、自宅サーバーを経由してメール送信をすると
554 5.7.1 <xxxxxx@example.com>: Client host rejected: Access denied
と返ってくる。
LAN内からは587番ポートを使い、プロバイダのメールサーバーを経由しての外部への送信は可能。
なので簡単にいくかと思ったら、かなりハードルが高いようです。
送信元の
●postconf -n の結果の抜粋
mynetworks = 192.168.1.0/28, 127.0.0.0/8
mynetworks_style = subnet
myorigin = $mydomain
readme_directory = no
recipient_delimiter =
relay_domains = $mydestination
relayhost = [mail.asahi-net.or.jp]:587
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = PLAIN, LOGIN, DIGEST-MD5, CRAM-MD5
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = no
smtpd_banner = $myhostname ESMTP unknown
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain =
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus
smtpd_sender_restrictions =
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = !SSLv2
smtpd_tls_received_header = no
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 550
●master.cf
submission inet n - - - - smtpd
#-o smtpd_sasl_auth_enable=yes
-o smtpd_etrn_restrictions=reject
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
●外部のメーラーからは
・自宅のドメイン+587番ポート+認証で接続
【その他考えられる原因】
・プロバイダや回線自体ができない仕様になっていればしかたがない。自宅サーバーなどのことについては回答不可能とのこと。
●やってみたこと
mynetworks = 192.168.1.0/28, 127.0.0.0/8
を
mynetworks = 127.0.0.0/8
としたり、
mynetworks = 127.0.0.0/8, [外部メーラーを送信するIPアドレス]
などとしましたが、よりひどくなるか、送信できません。
しらべていくとこいつが肝な感じなので
smtpd_recipient_restrictions=
permit_sasl_authenticatedを加えたものにしてみてもだめでした。
どなたかわかる方はいらっしゃいますか。
No.2ベストアンサー
- 回答日時:
>Client host rejected ということは自宅サーバーが拒否しているっていうことであって、自宅サーバーの先であるプロバイダ、回線、送信先メールアドレスのサーバーが拒否しているってことじゃないですよね?
これはその通りです。
>mynetworks = 192.168.1.0/28, 127.0.0.0/8
>これは関係してきますか?
関係しますが、今回のケースでは上記で変更の必要はありません。
このパラメタは転送を無条件で許可するネットワークになるのでローカルLANとローカルループバックの設定のみで良いはずです。
今回は、外部からのアクセスなので送信元が不特定のアクセスになるのでここには書けません。
(というか書いてはいけません)
SMTP認証が通ったら接続や転送を許可する設定、
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
や
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
で対応するわけです。
ところで、ログですが関連するのはそこに書かれたものだけですか?
このログだけを見るとSMTP認証をしていないように見えますが。。。
SMTP認証をしていなければ554で拒否されて当然なので、SMTP認証関係の設定(サーバ、クライアントとも)に問題が無いか確認されてみてはいかがでしょうか。
結果は成功しました。
ご指摘のとおりSMATP認証がうまくいっていませんでした。
こちらのサイトの
http://www.postfix-jp.info/trans-2.3/jhtml/SASL_ …
【Postfix SMTPサーバに対するDovecot SASLの設定】
を参照して設定し、
【Postfix SMTP サーバで SASL 認証をテストする】
で確認を行いながらテストが成功するようになってから、
こちらのサイトの
http://linux.kororo.jp/cont/server/smtp_auth.php
【■Microsoft Outlook or OutlookExpressの設定】
を参照してテスト送信をおこなったところうまくいきました。
本当に助かりました。
ありがとうございます!!
No.1
- 回答日時:
>●master.cf
>submission inet n - - - - smtpd
>#-o smtpd_sasl_auth_enable=yes
>-o smtpd_etrn_restrictions=reject
>-o smtpd_client_restrictions=permit_sasl_authenticated,reject
smtpd_sasl_auth_enable=yes をコメントしているので
smtpd_sasl_auth_enableはデフォルトはnoだと思いますので、SASLによるSMTP Auth は無効になると思いますが、
その2行下で、接続するクライアントが、SMTP Auth で認証が確認されたものを許可しそれ以外を拒否している。
設定が矛盾していませんか。
あとmaillogとかは確認しましたか。
この回答への補足
ありがとうございます。
コメントアウトを外してテストをしましたが、同じエラーがでました。
以下はログです。
connect from q9456875.fff.example.com[発信元IP]
NOQUEUE: reject: RCPT from q9456875.fff.example.com[発信元IP]: 554 5.7.1
<q9456875.fff.example.com[発信元IP]>: Client host rejected: Access denied;
from=<送信元メールアドレス> to=<送信先メールアドレス> proto=ESMTP helo=<xxxx>
disconnect from q9456875.fff.example.com[発信元IP]
こうなってくるとどこが問題なのでしょうか。
Client host rejected ということは自宅サーバーが拒否しているっていうことであって、自宅サーバーの先であるプロバイダ、回線、送信先メールアドレスのサーバーが拒否しているってことじゃないですよね?
mynetworks = 192.168.1.0/28, 127.0.0.0/8
これは関係してきますか?許可するネットワークの指定だと思うのですが、これが外部からを拒否しているのかなと思うのですが、どうすればいいかまで想像もつきません。
とりあえず私自身はこのmynetworks周りで探ってみようと思います。
わかる方がいらっしゃれば教えていただきたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルで特定のファイ...
-
WindowsからSSHでサーバーにあ...
-
MF-COBOL COBOL 違い
-
Microsoft 365 の購入の誘いが...
-
三菱 Got 1000
-
digital license(デジタルライ...
-
プロダクトキー
-
試用期限付きアプリの使用期間...
-
添付した写真の文字、何で作っ...
-
pipインストール時にプロトコル...
-
おんどとりWebStorage APIから...
-
Windows serverでマルチキャス...
-
なぜSDRAM はコンデンサに蓄え...
-
Python CSVファイルについて
-
Windowsバッチファイルでリモー...
-
windowsのおすすめバックアップ...
-
画面設計と帳票設計の違いを教...
-
エクセルを起動するとグレーな...
-
batでレジストリが変更されない...
-
アマゾン。メルアドをそのまま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Postx社内PCからのみSMTP認証を...
-
sendmailでSMART_HOSTを設定し...
-
SVNをADと連携させて、ユーザ/...
-
SMS認証の手順について教えてく...
-
/var/log/maillogに大量にログ...
-
ロードバランサを自作する。
-
postfixで携帯以外に送信が出来...
-
postfix + Courier-IMAP でのメ...
-
maillogのwarningメッセージの...
-
Postfixでメールの受信はできる...
-
postfixのメールの丸投げ
-
Linux 5:有料電子証明書を使用...
-
SMTP認証で自サーバをniftyとつ...
-
外部送信不可?netqmailについて
-
さくらVPSでメールが受信できない
-
windows11 サービスにSecurity ...
-
Yahoo!を英字、日本語両方に設...
-
パソリRC-S380でモバイルSuica...
-
Windows11 のファイヤーウォー...
-
Tera Termでviを開いたときの表...
おすすめ情報