2013-08-19 19 views
5

Outlookクライアントから電子メールを送信しようとしたときにこのエラー554 Relay access deniedがあります。Linux postfix/dovecot 554リレーアクセスが拒否されました

私は受信メールを読むことができますが、送信することはできません。

私がtelnet localhost 25に接続すると、私は外部のメールを送信できますが、Outlookクライアントでは動作しません。

はpostconf

# 2.1.7: /etc/dovecot/dovecot.conf 
# OS: Linux 3.9.3-x86_64-linode33 x86_64 Ubuntu 13.04 ext3 
auth_mechanisms = plain login 
mail_location = maildir:/var/mail/vhosts/%d/%n 
mail_privileged_group = mail 
namespace inbox { 
    inbox = yes 
    location = 
    mailbox Drafts { 
    special_use = \Drafts 
    } 
    mailbox Junk { 
    special_use = \Junk 
    } 
    mailbox Sent { 
    special_use = \Sent 
    } 
    mailbox "Sent Messages" { 
    special_use = \Sent 
    } 
    mailbox Trash { 
    special_use = \Trash 
    } 
    prefix = 
} 
passdb { 
    args = /etc/dovecot/dovecot-sql.conf.ext 
    driver = sql 
} 
passdb { 
    args = /etc/dovecot/dovecot-sql.conf.ext 
    driver = sql 
} 
protocols = imap pop3 lmtp 
service auth-worker { 
    user = vmail 
} 
service auth { 
    unix_listener /var/spool/postfix/private/auth { 
    group = postfix 
    mode = 0666 
    user = postfix 
    } 
    unix_listener auth-userdb { 
    mode = 0600 
    user = vmail 
    } 
    user = dovecot 
} 
service imap-login { 
    inet_listener imap { 
    port = 0 
    } 
} 
service lmtp { 
    unix_listener /var/spool/postfix/private/dovecot-lmtp { 
    group = postfix 
    mode = 0600 
    user = postfix 
    } 
} 
service pop3-login { 
    inet_listener pop3 { 
    port = 0 
    } 
} 
ssl = required 
ssl_cert = </etc/dovecot/dovecot.pem 
ssl_key = </etc/dovecot/private/dovecot.pem 
userdb { 
    args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n 
    driver = static 
} 
userdb { 
    args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n 
    driver = static 
} 

任意の考えは、-n doveconf

alias_database = hash:/etc/aliases 
alias_maps = hash:/etc/aliases 
append_dot_mydomain = no 
biff = no 
config_directory = /etc/postfix 
inet_interfaces = all 
mailbox_size_limit = 0 
mydestination = localhost 
myhostname = mail.mydomain.com 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 
myorigin = /etc/mailname 
readme_directory = no 
recipient_delimiter = + 
relayhost = 
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) 
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_path = private/auth 
smtpd_sasl_type = dovecot 
smtpd_tls_auth_only = yes 
smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem 
smtpd_tls_key_file = /etc/ssl/private/dovecot.pem 
smtpd_use_tls = yes 
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf 
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf 
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf 
virtual_transport = lmtp:unix:private/dovecot-lmtp 

-n:

は、ここに私のpostfixとdovecotの設定ですか?

+0

?認証を使用していますか?あなたは 'mynetworks'にlocalhostしか持っていないので、そこからメールを送ることが許可されるネットワークコンピュータを追加したいかもしれません。 – mata

+0

それは私の家のコンピュータにあります。はい、私はSSLを使用します。私のネットワーク ?だから私は私の家のコンピュータinetのIPを追加する必要がありますか? –

+0

いいえ、私はssl(暗号化)を意味するのではなく、認証(あなたはpostfix経由でsmtp経由でメッセージを送信するときにあなたのユーザーを認証するためにOutlookを設定していますか? 'mynetwork'は、ローカルネットワークからの認証なしでリレーアクセスを許可します。もしあなたのサーバがインターネット上にあるなら、smtp_authをうまく使うべきです。 – mata

答えて

5

あなたが2.10より新しいPostfixバージョンを使用する場合は、あなたがhereを説明するようにsmtpd_relay_restrictionsオプションを追加する必要があります。その後

 
# With Postfix 2.10 and later, the mail relay policy is 
# preferably specified under smtpd_relay_restrictions. 
/etc/postfix/main.cf: 
    smtpd_relay_restrictions = 
    permit_mynetworks 
    permit_sasl_authenticated 
    reject_unauth_destination 

# Older configurations combine relay control and spam control under 
# smtpd_recipient_restrictions. To use this example with Postfix ≥ 
# 2.10 specify "smtpd_relay_restrictions=". 
/etc/postfix/main.cf: 
    smtpd_recipient_restrictions = 
    permit_mynetworks 
    permit_sasl_authenticated 
    reject_unauth_destination 
     ...other rules... 

、ユーザーを認証し任意のSASLはを通じてメールを送信することができるはずですsmtpを使用しているサーバー。

+1

これは私のために働いていませんでした。私は同じエラーが発生します。 – neckTwi

0

Amazon AWS EC2の私のポスト2.6.6では、main.cfの "mydestination"と "relay_domains"の設定が間違っていたことが判明しました。 正しい値(私のために働いたもの)であった:あなたのOutlookクライアントは "から接続されて

mydestination = $myhostname, $mydomain, localhost relay_domains = $mydestination

+0

私のドメインネームは 'necktwi.com'です。 myhostname = 'ec2.necktwi.com'とmydomain =' necktwi.com'のように、サーバ名を 'ec2'に変更しました。まだ私は同じエラーを取得する – neckTwi

関連する問題