Tôi gặp lỗi này 554 Relay access denied
khi cố gửi email từ ứng dụng khách xem của mình.Linux postfix/dovecot 554 Truy cập chuyển tiếp bị từ chối
Tôi có thể đọc thư đến nhưng không thể gửi.
Nếu tôi kết nối với telnet localhost 25 tôi có thể gửi email bên ngoài, nhưng với ứng dụng khách xem, nó không hoạt động.
Dưới đây là postfix và dovecot tôi config:
postconf -n
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
doveconf -n
# 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
}
Bất kỳ suy nghĩ?
nơi được 'triển vọng khách hàng của bạn kết nối từ đâu? Bạn đang sử dụng xác thực? Bạn chỉ có localhost trong 'mynetworks', bạn có thể muốn thêm các máy tính mạng nên được phép gửi thư từ đó. – mata
nó ở máy tính ở nhà của tôi. Có, tôi sử dụng ssl. mạng lưới của tôi ? Vì vậy, tôi nên thêm máy tính gia đình của tôi inet ip ?? –
không, tôi không có nghĩa là ssl (mã hóa) nhưng xác thực (có bạn thiết lập triển vọng để xác thực người dùng của bạn khi gửi tin nhắn qua smtp qua postfix?). 'mynetwork' cho phép truy cập relay mà không cần xác thực từ các mạng cục bộ, nếu máy chủ của bạn ở đâu đó trên internet thì tốt hơn bạn nên sử dụng smtp_auth. – mata