メールサーバー(ubuntu 10.04)で認証を取得しようとしていますが、問題が発生しています。 SMTPセットアップ用のpostfix付きサーバー、宅配便セットアップ付きのimapサーバーがあります。私の接尾辞認証はcyrus(私は実際にdovecotを試していません)saslauthを使用しています。ユーザー名とパスワードはMySqlデータベースに保存されます。 imap-sslを使用したログインは、リモートクライアント(Thunderbird)で機能し、メールを読むことができます。 SMTP側を機能させることができず、問題をsaslauthに集中させました。
でテストする
testsaslauthd -u 'username' -p 'passowrd' -s smtp
戻り値
connect() : Permission denied
データベース内のパスワードは暗号化されており、このtestsaslauthdはプレーンテキストのパスワードを使用して暗号化すると思います。
これを機能させる方法を教えてくれる人を探しています。メールサーバーは初めてで、完全に機能するものはありません。ありがとう。どのログファイルを確認/投稿する必要があるか、どのテストを実行するか、確認する権限を尋ねてください。
編集:(3/26/2012)詳細については、メールクライアントを動作させることができません。次のようなエラーが発生します。
The message could not be sent because connecting to SMTP server <mydomain.com> failed. The server may be unavailable or is refusing SMTP connections
Iptablesでそれぞれのポートを開いていますが、上記で実行したテストのため、内部の問題であると推測しています。また、telnet
をmail.mydomain.com 25
に実行してehlo localhost
を実行し、これを取得しました
250-mail.domain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
編集:(3/28/2012 2:45 pm)
~$ postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
mime_header_checks = regexp:/etc/postfix/mime_header_checks
mydestination = mail.mydomain.co, localhost, localhost.localdomain
myhostname = mail.mydomain.co
mynetworks = 127.0.0.0/8
myorigin = /etc/mailname
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
readme_directory = no
recipient_delimiter = +
relayhost =
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_tls_cert_file = /etc/ssl/certs/mailcert.pem
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-forwards.cf, mysql:/etc/postfix/mysql-email.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-mailboxes.cf
virtual_uid_maps = static:5000
編集:解決済み(2012年3月29日)@ AveryPaneと@ malloc4kの両方に私を正しい方向に向けてくれてありがとう。私がしなければならなかったいくつかのことは、私のMXレコードが適切な順序になっていることを確認してください。サーバーが接続を受け入れているかどうかを確認するために、ツールintodns.comと http://www.mxtoolbox.com を使用しました。次に、tail -fを使用して、エラーがないかログを監視し、DNSレコードを整理し、いくつかの構成ファイルを微調整すると、実際に何かがログに記録されていることを確認しました。
私が知らなかった2つのことは、一部のISPがポート25をブロックしていることでした。これは、私の場合、Thunderbirdがポート25でサーバーを認識していなかった理由である可能性があります。ファイル/etc/postfix/master.cf
の2番目に設定があります。 postfixがリッスンできるようにするポートについて。デフォルトのポート25は回線です
smtp inet n - - - - smtpd
これは基本的にhiim postfixと言っています、私はポート25で実行します。メールサーバーで人気のある別のポート587でpostfixを実行したい場合は、master.cfの近くにこの行を追加してください
587 inet n - - - - smtpd
再起動/etc/init.d/postfix restart
を実行すると、設定されているはずです。それが私にとっての解決策でした。
これを機能させる方法を教えてくれる人を探しています。メールサーバーは初めてで、完全に機能するものはありません。
私の友人、Eメール地獄へようこそ。あなたは良い仲間です。まず、電子メールサーバーの実行に真剣に取り組んでいる場合は、勉強したいと思うでしょう。電子メールはほとんどのユーティリティサービスのようです-当然のことと思われますが、それを機能させるために必要な努力について誰も考えたくありません。優れた(そしてありがたいことに簡単な)O'Reillyの本 Postfix:The Definitive Guide をお勧めします。これは、Postfixを実行するための優れた情報源です。
グローバルな電子メールシステムの多くは基本的にお互いの配達を踏みにじらないという紳士協定の集まりであるため、私はいくつかの基本的な「ゲームのルール」についても読むのに時間がかかります。確かに、 RFC 2142 などのようなドキュメントの厚い山を通り抜けることはできますが、これをいくつかの簡単なルールに要約できると思います。
まだまだたくさんありますが、これらの基本的なことで正しい方向に向けることができます。
メールクライアントを動作させることができません、
質問の「クライアントが送信できない」部分に関しては、問題はメールを受け入れるドメインに関連しています。具体的には、あなたの投稿は次のように述べています。
mydestination =
myhostname = my.domain.com
それらは両方とも正しくありません。 here を見てmydestination
パラメータを設定し、 here を見てmyhostname
パラメータを設定します。これらの2つのパラメーターは、基本的に、宛先:電子メールアドレスの右半分にあるものに基づいて、配信のために何を受け入れるかを接尾辞に伝えます。それらを何も設定せず、my.domain.com
は、my.domain.com
の配信のみを受け入れることを意味しますが、mydestination
が空白であるため、配信されません。私は間違っているかもしれませんが、それはあなたが望んでいたことではないと思います。
問題はCyrus設定またはPAM設定にある可能性があります(おそらくCyrus SASLはPAMを使用してセットアップでMySQLと通信します)。
私はあなたに2つのことをアドバイスします:
Postfixドキュメントの適切なセクションを注意深く読んでください: SASL_README
/var/log/auth.log
を確認してください