开源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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海量数据场景题--查找两个大文件的URL

查找两个大文件共同的URL 给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,找出 a、b 两个文件共同的 URL。内存限制是 4G。 操作逻辑: 使用哈希函数 hash(URL) % 1000​ 将每个URL映射到0-999的编号 文件A切割为a0, a1…

简单ELK框架搭建

简介 ELK 框架是一套开源的日志管理和分析工具,由 Elasticsearch、Logstash 和 Kibana 三个主要组件组成,现在新增了Filebeat组件,可以更高效的收集数据。 Elasticsearch:是一个分布式、高可扩展的开源搜索引擎,能快速…

VS Code 中 .history`文件的来源与 .gitignore`的正确使用

引言 在使用 VS Code 进行 Git 版本控制时,有时会发现项目中多出一个 .history 目录,并被 Git 识别为未跟踪文件。本文将解释 .history 的来源,并提供 .gitignore 的正确配置方法,确保开发环境的整洁性。 1. .history 文件的来源…

网络之数据链路层

数据链路层 数据链路层目标 TCP/IP提供了一种能力, 将数据可靠的从 B 跨网络送到 C 主机, 这期间是由无数次局域网转发构成的, 比如 主机B 到 路由器F 就是一次局域网通信的问题, 而数据链路层就是研究数据是如何在局域网内部转发的. 也就是说, 应用层是进行数据的处理, 传输…

A Brief History: from GPT-1 to GPT-3

This is my reading notes of 《Developing Apps with GPT-4 and ChatGPT》. In this section, we will introduce the evolution of the OpenAI GPT medels from GPT-1 to GPT-4. GPT-1 In mid-2018, OpenAI published a paper titled “Improving Language Understanding …

基于大数据的各品牌手机销量数据可视化分析系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,各品牌手机销量数据可视化分析系统当然不能排除在外。基于大数据的各品牌手机销量数据可视化分析系统是在实际应用和软件工程的开发原理之…

人工智能-群晖Docker部署DB-GPT

人工智能-群晖Docker部署DB-GPT 0 环境及说明1 获取dbgpt的docker镜像2 下载向量模型3 下载配置文件4 修改配置文件5 创建dbgpt容器并运行6 访问dbgpt0 环境及说明 环境项说明DSM版本DSM 7.2.1-69057 update 3Container Manager版本24.0.2-1535当前 hub.docker.com 镜像仓库中的…

Netty——TCP 粘包/拆包问题

文章目录 1. 什么是 粘包/拆包 问题?2. 原因2.1 Nagle 算法2.2 滑动窗口2.3 MSS 限制2.4 粘包的原因2.5 拆包的原因 3. 解决方案3.1 固定长度消息3.2 分隔符标识3.3 长度前缀协议3.3.1 案例一3.3.2 案例二3.3.3 案例三 4. 总结 1. 什么是 粘包/拆包 问题&#xff1f…

JavaScript Fetch API

简介 fetch() API 是用于发送 HTTP 请求的现代异步方法,它基于 Promise,比传统的 XMLHttpRequest 更加简洁、强大 示例 基本语法 fetch(url, options).then(response > response.json()).then(data > console.log(data)).catch(error > con…

UMI-OCR Docker 部署

额外补充 Docker 0.前置条件 部署前,请检查主机的CPU是否具有AVX指令集 lscpu | grep avx 输出如下即可继续部署 Flags: ... avx ... avx2 ... 1.下载dockerfile wget https://raw.githubusercontent.com/hiroi-sora/Umi-OCR_runtime_linux/main/Do…

C++ --- 二叉搜索树

1 二叉搜索树的概念 ⼆叉搜索树⼜称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树: 1 若它的左⼦树不为空,则左⼦树上所有结点的值都⼩于等于根结点的值 2 若它的右⼦树不为空,则右⼦树上所有结点的值都⼤于等于根结点…

跨语言语言模型预训练

摘要 最近的研究表明,生成式预训练在英语自然语言理解任务中表现出较高的效率。在本研究中,我们将这一方法扩展到多种语言,并展示跨语言预训练的有效性。我们提出了两种学习跨语言语言模型(XLM)的方法:一种…

文件描述符,它在哪里存的,exec()后还存在吗

学过计系肯定了解 寄存器、程序计数器、堆栈这些 程序运行需要的资源。 这些是进程地址空间。 而操作系统分配一个进程资源时,分配的是 PCB 进程控制块。 所以进程控制块还维护其他资源——程序与外部交互的资源——文件、管道、套接字。 文章目录 文件描述符进程管…

Slidev使用(一)安装

文章目录 1. **安装位置**2. **使用方式**3. **适用场景**4. **管理和维护** 全局安装1. **检查 Node.js 和 npm 是否已安装**2. **全局安装 Slidev CLI**3. **验证安装是否成功**4. **创建幻灯片文件**5. **启动 Slidev**6. **实时编辑和预览**7. **构建和导出(可选…

第二十一章:模板与继承_《C++ Templates》notes

模板与继承 重点和难点编译与测试说明第一部分:多选题 (10题)第二部分:设计题 (5题)答案与详解多选题答案:设计题参考答案 测试说明 重点和难点 21.1 空基类优化(EBCO) 知识点 空基类优化(Empty Base Cla…

AOA与TOA混合定位,MATLAB例程,自适应基站数量,三维空间下的运动轨迹,滤波使用EKF

本代码实现了一个基于 到达角(AOA) 和 到达时间(TOA) 的混合定位算法,结合 扩展卡尔曼滤波(EKF) 对三维运动目标的轨迹进行滤波优化。代码通过模拟动态目标与基站网络,展示了从信号测量、定位解算到轨迹滤波的全流程,适用于城市峡谷、室内等复杂环境下的定位研究。 文…

量子计算:开启未来计算的新纪元

一、引言 在当今数字化时代,计算技术的飞速发展深刻地改变了我们的生活和工作方式。从传统的电子计算机到如今的高性能超级计算机,人类在计算能力上取得了巨大的进步。然而,随着科技的不断推进,我们面临着越来越多的复杂问题&…

AMD机密计算虚拟机介绍

一、什么机密计算虚拟机 机密计算虚拟机 是一种基于硬件安全技术(如 AMD Secure Encrypted Virtualization, SEV)的虚拟化环境,旨在保护虚拟机(VM)的 ​运行中数据​(包括内存、CPU 寄存器等)免受外部攻击或未经授权的访问,即使云服务提供商或管理员也无法窥探。 AMD …

如何通过数据可视化提升管理效率

通过数据可视化提升管理效率的核心方法包括清晰展示关键指标、及时发现和解决问题、支持决策优化。其中,清晰展示关键指标尤为重要。通过数据可视化工具直观地呈现关键绩效指标(KPI),管理者能快速、准确地理解业务现状&#xff0c…

.git 文件夹

文件夹介绍 🍎 在 macOS 上如何查看 .git 文件夹? ✅ 方法一:终端查看(最推荐) cd /你的项目路径/ ls -a-a 参数表示“显示所有文件(包括隐藏的)”,你就能看到: .git…