过去几周我一直尝试在 Windows 上设置 hMailServer,但遇到了一些问题,所以我决定尝试基于 Unix 的解决方案。
我正在运行 roundcube webmail 和带有 postfix 和 dovecot 的 Ubuntu。收件箱使用 IMAP 工作正常,但我无法通过 SMTP 发送任何电子邮件。
我总是得到
Error SMTP (554): Unable to add recipient "[email protected]" (5.7.1 <[email protected]>: Relay access denied)
因此,根据我的理解,postfix 设置它只接受指定域列表的电子邮件(即它列出电子邮件的域)。但我需要将 Roundcube 指向某个可以将电子邮件发送到所有域的 SMTP 服务器。
我是否使用了错误的软件,或者软件配置是否有误?
alias_database = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
home_mailbox = Maildir/
mydestination = dynapos.cz,sweetparadise.cz, ubuntu.mshome.net, localhost.mshome.net, localhost
myhostname = mail2.sweetparadise.cz
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = no
virtual_alias_domains = hash:/etc/postfix/virtual_domains
virtual_alias_maps = hash:/etc/postfix/virtual
答案1
您需要允许您的 Postfix 接受来自 Windows 服务器的中继邮件(在本例中为1.2.3.4
& 1.2.3.5
)。
- 在中添加以下内容
/etc/postfix/main.cf
:
smtpd_relay_restrictions = permit_mynetworks,check_client_access 哈希:/etc/postfix/check_client_access,reject_unauth_destination
/etc/postfix/check_client_access
使用以下设置
1.2.3.4 确定 1.2.3.5 确定
- 运行
postmap hash:/etc/postfix/check_client_access
以生成 Postfix 的哈希图。 - 运行
postfix reload
以重新加载配置。
然后再试一次。