电子邮件和邮件服务器
如何设置通过 SMTP 发送内部邮件?
默认情况下,Hestia
生成的电子邮件(通知、忘记密码、更新日志等)将通过内部邮件发送。 如果需要,您可以设置通过 SMTP
帐户发送邮件。
执行以下脚本并按照说明进行操作:
bash /usr/local/hestia/install/upgrade/manual/configure-server-smtp.sh
我无法发送电子邮件
首先,检查端口 25
是否对传出流量开放。 许多提供商默认阻止端口 25
以打击垃圾邮件。
为此,请运行以下命令:
telnet ASPMX.L.GOOGLE.COM 25
如果连接成功,您将看到类似以下内容:
Trying 2a00:1450:400c:c00::1b...
Connected to ASPMX.L.GOOGLE.COM.
Escape character is '^]'.
220 mx.google.com ESMTP a7si1253985wrr.455 - gsmtp
如果没有,您有 2
个选择:
- 联系您的提供商并要求他们为传出流量打开端口
25
。 - 在邮件域设置下设置邮件中继或在系统设置中为服务器一般设置。 为此,您需要使用
SMTP
中继服务,例如:
什么是 SMTP 中继服务以及如何设置它
SMTP
邮件中继是将电子邮件从一台服务器传输到另一台服务器进行传递的过程。 由于担心垃圾邮件,来自服务器的电子邮件通常会被服务提供商阻止。 或者 IP
声誉太低,所有电子邮件都会直接进入垃圾邮件箱。 为了防止此类问题,许多公司提供 SMTP
中继来处理传递部分。 由于他们通过相同的 IP
地址发送大量电子邮件,因此拥有更好的声誉。
要进行设置,请通过您想要或使用的提供商创建一个帐户,然后按照他们的说明更新您的 DNS
。 完成后,您可以在全局 SMTP
下或编辑邮件域
->SMTP 中继
下的设置中输入他们提供的 SMTP 用户帐户
我无法接收电子邮件
如果您无法接收电子邮件,请确保您已正确设置 DNS
。 如果您使用的是 Cloudflare
,请禁用mail.domain.tld
代理。
完成后,您可以通过MXToolBox检查配置。
被拒绝, 打开解析器时出错:
是因为你的[ip]位于 zen.spamhaus.org的黑名单中
- 前往Spamhaus免费数据查询账户
- 填写表格并通过您收到的电子邮件中的链接验证您的电子邮件地址。
- 登录后,转到产品 →
DQS
,您将看到您的查询密钥,在下面您将看到使用Zen Spamhaus
黑名单所需的确切FQDN
。 类似于:HereYourQueryKey.zen.dq.spamhaus.net
- 编辑
/etc/exim4/dnsbl.conf
并将zen.spamhaus.org
替换为HereYourQueryKey.zen.dq.spamhaus.net
- 另请编辑
/etc/exim4/exim4.conf.template
行:deny message = Rejectedbecause $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
改为deny message = Rejectedbecause $sender_host_address is in 黑名单
以防止您的查询密钥泄露 - 使用
systemctl restart exim4
重新启动exim4
如何禁用电子邮件的内部查找
如果您使用 SMTP
中继或想要在 Web
服务器上使用 DKIM
,但在 Gmail
上托管电子邮件,则需要在 Exim4
中禁用内部查找。
nano /etc/exim4/exim4.conf.template
dnslookup:
driver = dnslookup
domains = !+local_domains
transport = remote_smtp
no_more
替换为:
dnslookup:
driver = dnslookup
domains = *
transport = remote_smtp
no_more
如何安装 SnappyMail?
您可以通过运行以下命令来安装 SnappyMail
:
v-add-sys-snappymail
我可以登录 SnappyMail 后端吗
在根文件夹中,有一个名为.snappymail
的文件,其中包含用户名和密码:
Username: admin_f0e5a5aa
Password: D0ung4naLOptuaa
Secret key: admin_f0e5a5aa
您可以通过导航到 https://webmail.domain.tld/?admin_f0e5a5aa
来访问管理员,并使用您在文件中找到的数据登录。 出于安全原因,一旦不再需要该文件,请删除该文件。
我可以通过电子邮件使用 Cloudflare 代理吗
不可以,Cloudflare
的代理不适用于电子邮件。 如果您使用服务器上托管的电子邮件,请确保 A
记录mail.domain.tld
的代理已关闭。 否则,您将无法接收电子邮件。 如果您想使用 Hestia
作为邮件服务器,建议记录以下记录:
- 名为 mail 的记录指向您的服务器
IP
。 - 名为 webmail 的记录指向您的服务器
IP
。 - 名称为 @ 的
MX
记录,指向mail.domain.tld
。 - 名称为 @ 的
TXT
记录包含v=spf1 a mx ip4:your ip; \~all
- 名称为 _domainkey 的
TXT
记录包含t=y; o=~;
- 名称为 mail._domainkey 的
TXT
记录包含t=y; o=~DKIM key;
- 名称为 _dmarc 的
TXT
记录包含v=DMARC1; p=quarantine; sp=quarantine; adkim=s; aspf=s;
DKIM 密钥和 SPF
记录可以在 邮件域 列表中找到文档。
当从我的服务器发送电子邮件时,它们最终会进入垃圾邮件文件夹
确保您已设置正确的 RDNS、SPF
记录和 DKIM
记录。
如果这不起作用,则您的 IP
地址可能位于一个或多个黑名单中。 您可以尝试自行解除阻止,但通常更简单的方法是将 SMTP
和 SMTP
中继与 Amazon SES
或其他 SMTP
提供商结合使用。
如何启用 ManageSieve?
在 Hestia
安装期间,使用 --sieve
标志。 如果已安装 Hestia
,则在以下路径中提供了升级脚本:/usr/local/hestia/install/upgrade/manual/install_sieve.sh
我可以允许通过外部邮件客户端访问 ManageSieve 吗?
在防火墙中打开端口 4190
。 阅读防火墙文档。
如何为 Snappymail 启用 ManageSieve?
编辑配置文件
nano /etc/snappymail/data/_data_/_default_/domains/default.ini
并修改以下设置:
sieve_use = On
sieve_allow_raw = Off
sieve_host = "localhost"
sieve_port = 4190
sieve_secure = "None"
Oracle 云 + SMTP 中继
如果您想使用来自 Oracle Cloud
的 SMTP
,您需要对 Exim4
配置进行以下更改:
打开/etc/exim4/exim4.conf.template
并替换以下代码:
smtp_relay_login:
driver = plaintext
public_name = LOGIN
hide client_send = : SMTP_RELAY_USER : SMTP_RELAY_PASS
如:
smtp_relay_login:
driver = plaintext
public_name = PLAIN
hide client_send = ^SMTP_RELAY_USER^SMTP_RELAY_PASS