开源webmail邮箱客户端rainloop的分支版本SnappyMail 设置发件人允许多重身份
RainLoop已多年未更新,SnappyMail 是 RainLoop 的分支,由社区维护。SnappyMail 不仅修复了漏洞,还增加了更多功能和优化。对 IMAP 支持更好,移动端体验也比 RainLoop 更细致。
安装过程和设置跟RainLoop一样:
以宝塔面板为例:
1、网站-->php项目-->添加站点-->配置对话框中[数据库]选择[不创建],PHP版本 ≥ 7.4
2、浏览器打开刚刚创建的网站看看是否可以访问,确定可以访问后,删除网站目录下的.htaccess 404.html index.html
3、将下载的安装包上传至网站目录内并解压
4、网站设置中添加
location / {
try_files $uri $uri/ /index.php?$query_string;
}
5、尝试访问,如果提示302报错:
[302] The following PHP extensions are not available in your PHP configuration!
fileinfo
解决方案:宝塔面板-->软件商店-->php 7.4 -->设置-->安装扩展-->fileinfo-->安装
6、访问时如果提示Invalid Content-Type / pcntl_signal()被禁用的错误。
Warning: pcntl_signal() has been disabled for security reasons in /www/wwwroot/mail.yourdomain.com/snappymail/v/2.38.2/app/libraries/MailSo/Log/Logger.php on line 78 提示:An error occurred.
Please refresh the page and try again.
Error: Invalid Content-Type 'text/html; charset=UTF-8' for url '/?/AppData/0/xxxxxxxxxxx
在宝塔环境中pcntl_signal()
函数常被禁用(出于安全考虑)
解决:宝塔 > 软件商店 > PHP 7.4 → 设置 → 禁用函数 → 删除其中的[pcntl_signal]
7、登录后台 http://mail.xxxx.com/?admin ,user:admin, pwd: 在/www/wwwroot/mail.xxxx.com/data/_data_/_default_/admin_password.txt中复制, TOTP不填写
8、 如果邮箱服务和SnappyMail是部署在同一台服务器上,可以不用配置域名。因为域名配置中已默认有 hlvps 和 * 两项是针对本地邮箱服务的。当然如果端口/协议等还是要看一下是否跟本地服务器的的配置是否一致。
9、设置发件人允许多重身份(即自由填写发件人,比如我想随意切换发件人为 jack@...、 system@...、 sales@...、support@...):
以下是rainloop:
注:邮箱服务器相关设置/策略中若“允许发信时[FROM] 与[登录的邮箱地址]不一致”,会存在【伪造其他发件人】的风险。
例如用户登录 SMTP 认证为 alice@yourdomain.com ,用ceo@yourdomain.com 发信,那么这封邮件会成功发出去,收件人也会看到“来自 ceo@yourdomain.com”。
这在Postfix默认设置中是允许的,要修改这个设置的话,发件限制中添加 smtpd_sender_restrictions = reject_sender_login_mismatch (拒绝发件人与登录身份不一致的邮件)
类似的选项通常用这项名字:
不同软件,设置选项不同,选项名称通常类似如下:
Sender login mismatch allowed 允许发件人邮箱与登录账户不匹配
"From address" (customizable) 是否允许自定义发件人邮箱地址
"Allow custom sender address" 是否允许与登录身份不同的 From
"Use login as sender" 强制使用登录身份作为发件人(与上相对)
"Restrict sender identity" 是否限制发件人与登录用户一致
"Sender identity enforcement" 是否启用发件人身份强校验
“Arbitrary sender address”
“Unrestricted sender address”
“Forged sender address allowed”
“Envelope-sender freedom”
“Sender address spoofing (allowed)”
之类....
[arbitrary sender address] 常见的一个使用场景,一个人使用的邮箱服务,使用catch-all来收取全部邮件,然后使用Add another Identity来回复。https://serverfault.com/questions/619102/rainloop-arbitrary-sender-address