我想设置一个空客户端邮件服务器,即发送电子邮件但不接收电子邮件的邮件服务器。我尝试了多个依赖 postfix 的指南,查看了本网站和其他网站上的讨论,并咨询了官方 postfix网站。服务器仍然不发送电子邮件。通过以下行提交的消息
echo "This is the body of an encrypted email" | mail -s "This is the subject line" [email protected]
[email protected]
我的电子邮件地址与该服务器无关,但收不到邮件。我已经尝试检查了多个收件人电子邮件地址。他们都没有收到邮件。
目前的内容/etc/postfix/main.cf
是
# 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 (Ubuntu)
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
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# TLS parameters
smtpd_tls_cert_file=/etc/letsencrypt/live/example.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/example.com/privkey.pem
smtpd_tls_security_level=may
smtp_use_tls=yes
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = someone.localdomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mydestination =
relayhost = $mydomain
mynetworks = 127.0.0.0/8 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = ipv4
local_transport = error: local delivery disabled
而不是example.com
使用我的实际域名。
我在 DNS 服务器上只设置了 A 记录。我需要 MX 记录吗?我需要设置子域名吗?
我配置了 ufw 以允许 postfix 流量:sudo ufw allow Postfix
这台 Ubuntu 20.04 机器还托管一个 nginx 网络服务器。
我想做的是使用 shell 脚本直接从服务器发送电子邮件。我不想将其连接到服务器之外的任何程序。设置应尽可能安全,阻止任何传入的电子邮件或使用邮件端口的攻击。我对 postfix 没有特别的偏好。它只是大多数指南使用的软件。
答案1
由于某种原因你已经设置
relayhost = $mydomain
这没有任何意义,因为您说您试图将出站邮件直接发送到目的地,而不是发回给您自己。即使您试图在本地重新发送所有邮件,这也不是可行的方法。
只需从您的配置中完全删除此行即可。