我在 centos 中从 postfix 发送邮件时遇到问题
我有以下设置邮件服务器 postfix发送邮件但出现错误。
就像在链接中我尝试以下命令
telnet 本地主机 smtp
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix
ehlo localhost
250-mydomain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<domain.com>
250 2.1.0 Ok
rcpt to:<[email protected]>
554 5.7.1 <[email protected]>: Relay access denied
編輯-1
在终端上这有效
echo TEST | mail -v -s "Test mail" [email protected]
我的postconf -n
节目博客信息
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
home_mailbox = Maildir/
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = dummy.com
myhostname = dummy.com
mynetworks = all
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550
我必须执行哪些配置才能从我的服务器发送邮件。
答案1
根据Postfix 文档,设置 mynetworks = all 似乎无效,如果您专门将 mynetworks 设置为某个值,那么 mynetworks_style 将被忽略。
如果您想使用 mynetworks_style=host,请将 mynetworks 重置为其默认值,或者明确设置 mynetworks 以反映邮件的发送位置(通常是 localhost 和您的本地子网)。例如:
mynetworks = 127.0.0.0/8 192.168.1.0/24
mynetworks_style = subnet
答案2
您正在尝试将电子邮件转发到 Gmail,但您的配置不接受将邮件转发到 Gmail,因此它返回 554 拒绝代码。后置配置
reply_domains_reject_code(默认值:554)当客户端请求被reject_unauth_destination收件人限制拒绝时,Postfix SMTP 服务器响应代码的数值。
修复中继问题正确的值 我的目的地参数根据后置配置
Relay_domains(默认值:$mydestination)系统将把邮件转发到哪些目标域(及其子域)。有关如何使用 Relay_domains 值的详细信息,请参阅 Permit_auth_destination 和 Reject_unauth_destination SMTP 收件人限制的描述。
与 $relay_domains 匹配的域将通过 $relay_transport 邮件传递传输进行传递。SMTP 服务器使用 $relay_recipient_maps 验证收件人地址并拒绝不存在的收件人。另请参阅 ADDRESS_CLASS_README 文件中的中继域地址类。
注意:Postfix 不会自动转发将此系统列为其主要或备用 MX 主机的域的邮件。请参阅 postconf(5) 手册页中的 permit_mx_backup 限制。
指定主机名或域名、“/file/name”模式或“type:table”查找表的列表,以逗号和/或空格分隔。通过在下一行开头使用空格来继续较长的行。“/file/name”模式将由其内容替换;当(父)域作为查找键出现时,将匹配“type:table”查找表。指定“!pattern”以从列表中排除域。只有 Postfix 版本 2.4 及更高版本支持“!/file/name”格式。
域名的模式匹配由 parent_domain_matches_subdomains 参数值中是否存在“relay_domains”控制。