我正在尝试让 postfix 通过我的 smtp 帐户与另一个电子邮件提供商(在本例中为 lavabit.com)发送电子邮件
我收到错误
无法识别收件人。中继访问被拒绝
这让我认为它试图将电子邮件发送到该外部 smtp 但被拒绝,因为该地址没有帐户,而不是使用我的帐户登录进行身份验证并以该帐户(我)的身份通过外部 smtp 发送电子邮件。
我的 sasl_passwd 文件内容如下:
mail.lavabit.com [email protected]:password
我的 master.cf 内容如下:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = vps.httech.com.au
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = vps.httech.com.au, localhost.httech.com.au, localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_maps = hash:/etc/postfix/virtual
sender_bcc_maps = hash:/etc/postfix/bcc
home_mailbox = Maildir/
smtp_sender_dependent_authentication = yes
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
allow_percent_hack = no
sender_dependent_default_transport_maps = hash:/etc/postfix/relayhost_maps
debug_peer_list = lavabit.com
transport_maps = hash:/etc/postfix/transport
relayhost = mail.lavabit.com
虽然我最终想用它,但此刻relayhost_maps
它是空的,只转发一个地址的电子邮件而不是全部。
答案1
好的,事实上没有通过身份验证的原因是我需要:
smtp_sasl_auth_enable = yes
不只是:
smtpd_sasl_auth_enable = yes
因为 smtp_sasl_auth_enable 适用于 postfix 的 smtp 客户端部分(postfix 发送电子邮件)
smtp_sasl_auth_enable 用于 postfix 的 smpt 服务器部分(postfix 接收电子邮件)