我有一个 Ubuntu 20.04 服务器,我按照本教程安装 ProtonMail Bridge:
https://pychao.com/2020/06/10/update-on-using-protonmail-bridge-on-headless-wordpress-linux-servers/
ProtonMail 用户需要这个额外实用程序的原因是,对于出站电子邮件,ProtonMail 在将电子邮件移交给发送服务器之前对用户的电子邮件内容进行加密。而对于入站邮件,ProtonMail 在下载邮件后为用户解密邮件内容,因此当用户打开收到的邮件时,内容是可读的。在使用 ProtonMail 的在线界面时,一切都在幕后完成。用户只需像在 Gmail 上一样编写/阅读电子邮件等。但是如果用户想在本地计算机上使用离线电子邮件客户端,那么这些客户端在与 ProtonMail 的服务器进行通信之前/之后缺乏加密/解密电子邮件的功能(请参阅注1)。这就是 ProtonMail 提供名为 Bridge 的实用程序的原因。
简而言之,ProtonMail Bridge 在本地机器上创建了虚假的 IMAP/SMTP 服务器。并且用户在他们的离线电子邮件客户端中使用这些虚假的本地服务器进行 IMAP/SMTP 设置。当离线客户端尝试与电子邮件服务器进行通信时,他们实际上是在与虚假的本地服务器进行通信。接下来,本地服务器执行加密/解密任务,然后与真正的 ProtonMail 服务器通信。
欲知更多详情,请阅读 ProtonMai Bridge 的介绍。这篇文章不打算处理 Bridge 的使用。相反,这篇文章试图解决在无头(即,未连接到任何物理监视器)Linux 环境中使用 Bridge 时出现的问题。
我的服务器上有一个 Drupal 8 站点,它使用 ProtonMail Bridge 正确发送电子邮件。
现在我希望 Postfix 使用 ProtonMail Bridge 发送服务器电子邮件(Logwatch,Monit,...)。
我按照以下教程安装和配置 Postfix :
https://devanswers.co/configure-postfix-to-use-gmail-smtp-on-ubuntu-16-04-digitalocean-droplet/
这是我的配置
安装后缀
$ sudo apt install postfix
在“系统邮件名称”处输入域 mydomain.com,其余部分默认保留
配置后缀
$ sudo nano /etc/postfix/main.cf
...
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = ov-hjhjhjhj.kjkjkjj.ch
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, mydomaine.com, ov-b2bbd0.infomaniak.ch, localhost.infomaniak.ch, localhost
relayhost = [127.0.0.1]:1025
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all
创建 sasl_passwd 文件以存储凭据
$ sudo nano /etc/postfix/sasl_passwd
...
[127.0.0.1]:1025 [email protected]:password
ProtonMail Bridge 中的使用信息
创建哈希数据库文件
$ sudo postmap /etc/postfix/sasl_passwd
安全凭证
$ sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
$ sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
重启后缀
$ sudo systemctl restart postfix
检查状态后缀
$ sudo systemctl status postfix
安装 mailutils
$ sudo apt install mailutils
测试发送电子邮件
$ echo "Contenu du mail" | mail -s "Titre du mail" [email protected] -aFrom:[email protected]
问题是我没有收到任何电子邮件,也没有错误消息。我的设置有什么问题?
这是有效的 Drupal 8 配置:
您已经省略了告诉 postfix 在发送邮件时进行身份验证的行,这些行在您引用的 postfix 教程中。因此,您的
sasl_passwd
文件将被忽略。至少你应该有
如果这些还没有在
master.cf
. 但是,您应该从邮件日志中重现相关行以准确诊断问题,否则一切都是猜测。