我的邮件服务器的默认配置使用 的reject_authenticated_sender_login_mismatch设置smtpd_sender_restrictions来防止任意用户 A 以用户 B 的身份发送电子邮件(在“发件人”字段中)。我意识到这通常是一个很好的策略,因为即使是一个被盗用的用户帐户也基本上会打开我的邮件服务器作为垃圾邮件中继。
但是,我想允许特定用户(通过白名单)以任何用户的身份发送邮件。例如,我想有我的Web服务器本身作为身份验证x@example.com,最后是能够代表发送电子邮件user1@example.com,user2@example.com等等。
所有其他经过身份验证的用户应该只能以自己的身份发送电子邮件。
我认为我正在使用该/etc/postfix/sender-login-maps.cf文件的正确路径,该文件目前包含:
dbpath=/home/user-data/mail/users.sqlite
query = SELECT permitted_senders
FROM (
SELECT permitted_senders, 0 AS priority
FROM aliases
WHERE source='%s'
AND permitted_senders IS NULL
UNION
SELECT email as permitted_senders, 2 AS priority
FROM users
WHERE email='%s'
)
ORDER BY priority LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
我不知道如何修改它来完成我想要的。
我们使用 DigitalOcean 作为我们的 VPS 提供商。他们有一个关于如何为加密备份设置 Duplicity的教程,但它不包括数据库备份或 Google Drive 端点。
我在网上找到了一些关于 Duplicity 和 Google Drive 的其他教程,但它们似乎都不完整或过时。
我花了几个小时尝试配置Duplicity以对 Google Drive 执行自动远程备份。在这一点上,可以肯定地说我正处于自己的私人依赖地狱中。
使用我的发行版 (0.6.x) 附带的 Duplicity 版本,我收到一个错误:
BackendException:Google Docs 后端需要 Google 数据 API Python 客户端库(请参阅http://code.google.com/p/gdata-python-client/)。
尽管我安装了 Google API Python 客户端。所以,我决定尝试升级双重性,但失败了:
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c duplicity/_librsyncmodule.c -o build/temp.linux-x86_64-2.7/duplicity/_librsyncmodule.o
duplicity/_librsyncmodule.c:26:22: fatal error: librsync.h: No such file or directory
#include <librsync.h>
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
因此,我决定也尝试升级librsync到最新的稳定版本 (2.0)。在为那个依赖而苦苦挣扎之后,我终于得到了两者librsync并duplicity更新到他们最新的稳定版本。
因此,当我使用 给我的 Duplicity 升级版本进行旋转时duplicity --version,我现在立即收到 …
duplicity ×2
backup ×1
dependencies ×1
google-drive ×1
gpg ×1
installation ×1
mysql ×1
postfix ×1
python ×1
ubuntu ×1