打造私密的通信工具,极空间搭建免费开源的电子邮件管理程序『Cypht』

打造私密的通信工具,极空间搭建免费开源的电子邮件管理程序『Cypht』

哈喽小伙伴门好,我是Stark-C~

说起电子邮件大家都不陌生,哪怕是在当前微信或者QQ已经非常普遍的今天,电子邮件在我们很多人的工作中都充当了重要的通信工具。

不说别的,就我个人来说,我目前在用的就有三款不同的邮箱:腾讯的QQ邮箱,谷歌的Gmail邮箱,以及微软的Outlook。不过大家有没有想过,有没有什么工具可以将我们使用的所有邮箱实现集中管理呢?

答案是肯定的,它便是我今天为大家分享的这款『Cypht』。

关于Cypht

Snipaste_2024-05-19_20-56-36

Cypht是一款免费开源的Web电子邮件客户端管理程序,它在不牺牲隐私和安全性的前提下,汇聚了个电子邮件账户,让用户仅需一个网页就能轻松管理多个电子邮件账户,包括查看、发送邮件,以及还提供了邮箱常用的过滤、标签、搜索等功能,从而提高了多个邮箱同时使用的效率与便捷。

它的亮点特性如下:

  • 自托管 :Cypht 支持自托管,你可以选择自己部署服务器,完全掌控自己的数据。

  • 端到端加密: 所有通信均在发送者和接收者之间进行加密,即使数据通过不安全的网络,也无需担忧信息泄漏。

  • 插件系统 : 通过插件,你可以连接到不同的邮件服务提供商,或扩展其他功能。

  • 隐私优先 :Cypht 不存储用户的私钥,确保只有消息的收发双方才能解密信息。

它的功能与用途包括:

安全的电子邮件: Cypht 提供了一种方法,可以在发送邮件时自动加密消息内容,防止未经授权的第三方阅读。 跨平台 :不论你是 Windows 用户、Mac 用户还是 Linux 爱好者,或者更倾向于使用智能手机,Cypht 都可以无缝适配你的设备。 易于使用 :尽管加密听起来复杂,但 Cypht 的设计原则之一就是易用性,使得即便是对技术不太了解的用户也能轻松上手。 透明度与审计 :开源代码意味着任何人都可以查看其内部工作原理,增强用户对安全性的信心。

Cypht部署

需要说明的是,一般涉及到安全方面的Docker容器,基本都会需要稳定的数据库作为支撑,今天介绍的这个Cypht也是一样,所以在部署之前,咱们需要先搞定数据库。

在极空间上部署数据库我之前发过相关的教程:

省钱了!使用极空间搭建一个免费的MariaDB数据库并实现远程访问_NAS存储_什么值得买

第一步:创建数据库

这里假设你已经按照我之前的教程在极空间上部署好了MariaDB数据库。

Snipaste_2024-05-19_16-02-28

🔺先打开数据库管理工具phpMyAdmin,然后在“账户”里面“新增用户账户”。

Snipaste_2024-05-19_16-03-10

🔺填入新增用户账户的信息:

  • 用户名:cypht

  • 主机名:任意主机( % )

  • 密码:随意(我这里演示就设为了“123456”)

然后勾选下面的“创建与用户同名的数据库并授予所有权限”,最后别忘了点页面下方的“执行”按钮。

Snipaste_2024-05-19_16-03-40

🔺最后在用户账户列表中就能看到我们建立好的关于Cypht的数据库了。

第二步:Cypht部署

Snipaste_2024-05-19_16-05-51

🔺咱们先在极空间的文件管理中的Docker目录中新建一个“cypht”的文件夹,再在该文件夹中建立一个“users”的子文件夹。

Snipaste_2024-05-19_16-04-51

🔺然后打开Docker管理器中的镜像仓库,直接搜索镜像“sailfrog/cypht-docker”并下载。

Snipaste_2024-05-19_16-06-04

🔺下载好之后双击镜像开始部署容器。

Snipaste_2024-05-19_16-06-54

🔺“文件夹路径”这里,装载路径映射我们前面新建cypht文件夹里面的users子文件夹。

Snipaste_2024-05-19_16-07-38

🔺“端口”只要避免本地端口不冲突即可。

Snipaste_2024-05-19_16-16-21

🔺然后在“环境”这里,一次添加以下几个环境变量(还不明白你直接跟着我抄作业即可):

  • CYPHT_AUTH_USERNAME 后台管理员账号,自己随意设置

  • CYPHT_AUTH_PASSWORD 后台管理员密码,自己随意设置

  • CYPHT_DB_CONNECTION_TYPE 数据库连接类型,默认为 host

  • CYPHT_DB_HOST 填写数据库主机地址+端口,默认为 NAS IP:3306

  • CYPHT_DB_NAME 数据库名称,我前面设置的为cypht

  • CYPHT_DB_USER 数据库用户,我前面设置的为cypht

  • CYPHT_DB_PASS 数据库密码,我前面设置的为123456

  • CYPHT_SESSION_TYPE 保持登录状态,默认的 DB 即可

其它的也没什么可设置的了,点“应用”按钮就完成了Cypht容器的部署。

Snipaste_2024-05-19_21-24-33

🔺不出问题的话,在Docker管理器中可以看到容器已经运行中了。

Cypht体验

直接在浏览器中输入 【 极空间局域网IP:端口号】 就能看到登录界面了。

Snipaste_2024-05-19_16-18-55

🔺首次打开需要登录。登录的账号和密码就是我们部署时环境变量中设置的管理员账号和密码。

Snipaste_2024-05-19_16-19-38

🔺登录成功后的主界面,程序默认为英文界面。

Snipaste_2024-05-19_16-23-05

🔺不过程序是可以通过如上图所示的操作设置为简体中文的。

Snipaste_2024-05-19_16-23-48

🔺时区默认也不是咱们内地,我们也可以通过设置更改。

Snipaste_2024-05-19_21-46-15

🔺接着咱们先来添加一个邮箱。直接在首页位置点击“添加电子邮件账户”。

Snipaste_2024-05-19_21-47-09

🔺可以看到它支持的电子邮件服务还是挺多的,我这里就以谷歌邮箱(Gmail)为例。

Snipaste_2024-05-19_21-50-15

🔺先填写自己完整的邮箱地址。

Snipaste_2024-05-19_21-50-34

🔺然后输入对应的密码。请注意:如果你的Gmail开启了两步验证,这里的密码是谷歌“应用专用密码”,而不是你实际的谷歌账号密码!!!

Snipaste_2024-05-19_22-23-37

🔺登录进来后就能直接看到自己所有的邮箱信息了。

Snipaste_2024-05-19_22-32-19

🔺可以直接点开邮件,并对邮件进行回复或者转发等操作,和谷歌自己的邮箱操作差不多。

Snipaste_2024-05-19_22-34-46

🔺如果说官方服务列表中没有我们需要的邮箱服务商,我们也可以通过SMTP/IMAP服务器的方式添加,具体的大家自己研究下吧~

🔺同时,该项目还支持添加 RSS 订阅。

Snipaste_2024-05-19_22-47-03

🔺然后点击“所有”,可以看到我们前面设置的邮箱以及RSS订阅全部都出在在这个位置,一次管理确实挺方面的。

最后

今天为大家分享的这个项目作为一个开源的Web电子邮件客户端管理程序,可以通过自托管的形式部署在我们自己的NAS中,安全方面还是很靠谱的。同时,它还可以集中管理我们使用的多个邮箱账户,免去了我们每次总是多个平台登录不同邮箱的繁琐,对于拥有不同邮箱的小伙伴来说,确实挺方便的,有需要的小伙伴可以部署下来试试吧!

🔺最后给大家安利一波性价比很高的极空间Z4 Pro标准版。Z4Pro用了全新一代处理器,整整高了同行业一代,参数指标和性能比上一代N5105和N6005都有了大幅度提升,依然采用的硬朗且超有质感的外观设计,拥有4个SATA+2个M.2盘位,配置上使用的是4核4线程英特尔N97处理器,DDR5 16GB内存,双2.5G网口,以及HDMI输出等,搭载的系统为自研的ZOS,功能丰富且易用,且支持Docker以及虚拟机。

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货,咱们下期再见!谢谢大家~

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

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

相关文章

【TB作品】基于STM32单片机的实验室器材管理登记二维码系统

这个单片机代码实现了一个实验室管理系统,该系统的主要功能包括记录和管理ID信息、日期和时间、以及显示这些信息到OLED屏幕上。以下是对代码主要功能的分析: 全局变量定义 定义了多个全局变量来存储系统状态、页面、密码、ID列表等信息。time 结构体用…

专题六——模拟

目录 一替换所有的问号 二提莫攻击 三N字形变换 四外观数列 五数青蛙 一替换所有的问号 oj链接:替换所有的问号 思路:简单模拟;注意i0和in是处理越界问题就行!! class Solution { public:string modifyString…

docker容器基本原理简介

一、docker容器实例运行的在linux上是一个进程 1)、我们通过docker run 通过镜像运行启动的在linux上其实是一个进程,例如我们通过命令运行一个redis: docker run -d --name myredis redis2)、可以看到首先我们本地还没有redis镜…

【LeetCode最详尽解答】11-盛最多水的容器 Container-With-Most-Water

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家! 链接: 11-盛最多水的容器 直觉 这个问题可以通过可视化图表来理解和解决。 通过图形化这个…

「动态规划」如何求乘积最大子数组?

152. 乘积最大子数组https://leetcode.cn/problems/maximum-product-subarray/description/ 给你一个整数数组nums,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的…

【数据结构】初识集合深入剖析顺序表(Arraylist)

【数据结构】初识集合&深入剖析顺序表(Arraylist) 集合体系结构集合的遍历迭代器增强for遍历lambda表达式 List接口中的增删查改List的5种遍历ArrayList详解ArrayList的创建ArrayList的增删查改ArrayList的遍历ArrayList的底层原理 🚀所属…

【全栈实战】大模型自学:从入门到实战打怪升级,20W字总结(一)

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本栏讲解【全栈实战】大模型自学:从入门到实战打怪升级。 🔔专栏持续更新,适合人群:本科生、研究生、大模型爱好者,期…

JVM-GC-什么是垃圾

JVM-GC-什么是垃圾 前言 所谓垃圾其实是指,内存中没用的数据;没有任何引用指向这块内存,或者没有任何指针指向这块内存。没有的数据应该被清除,垃圾的处理其实是内存管理问题。 JVM虽然不直接遵循冯诺依曼计算机体系架构&#…

基于flask的网站如何使用https加密通信-问题记录

文章目录 项目场景:问题1问题描述原因分析解决步骤解决方案 问题2问题描述原因分析解决方案 参考文章 项目场景: 项目场景:基于flask的网站使用https加密通信一文中遇到的问题记录 问题1 问题描述 使用下面的命令生成自签名的SSL/TLS证书和…

Docker镜像技术剖析

目录 1、概述1.1 什么是镜像?1.2 联合文件系统UnionFS1.3 bootfs和rootfs1.4 镜像结构1.5 镜像的主要技术特点1.5.1 镜像分层技术1.5.2 写时复制(copy-on-write)策略1.5.3 内容寻址存储(content-addressable storage)机制1.5.4 联合挂载(union mount)技术 2.机制原理…

用PHP来调用API给自己定制一个“每日新闻”

头条新闻汇聚了互联网上的时事动态,提供最新新闻动态、网络热门话题和视频更新等,覆盖社会、政治、体育、经济、娱乐、科技等多个领域,并不断刷新内容。企业应用这一接口后,可以快速吸引更多的用户访问自己的平台。即使是非新闻类…

有趣的傅里叶变换与小波变换对比(Python)

不严谨的说,时域和频域分析就是在不同的空间看待问题的,不同空间所对应的原子(基函数)是不同的。你想一下时域空间的基函数是什么?频域空间的基函数是什么?一般的时-频联合域空间的基函数是什么?小波域空间的基函数是什…

摄影师在人工智能竞赛中与机器较量并获胜

摄影师在人工智能竞赛中与机器较量并获胜 自从生成式人工智能出现以来,由来已久的人机大战显然呈现出一边倒的态势。但是有一位摄影师,一心想证明用人眼拍摄的照片是有道理的,他向算法驱动的竞争对手发起了挑战,并取得了胜利。 迈…

代码随想录第29天|贪心算法part3

134.加油站 首先如果总油量减去总消耗大于等于零那么一定可以跑完一圈 每个加油站的剩余量rest[i]为gas[i] - cost[i] 从0开始累加rest[i],和记为curSum,一旦curSum小于零,说明[0, i]区间都不能作为起始位置 因为我们一直维护的是一个剩余量大…

HCIA11 网络安全之本地 AAA 配置实验

AAA 提供 Authentication(认证)、Authorization(授权)和 Accounting(计费)三种安全功能。 • 认证:验证用户是否可以获得网络访问权。 • 授权:授权用户可以使用哪些服务。 •…

机器学习中的监督学习介绍

In this post well go into the concept of supervised learning, the requirements for machines to learn, and the process of learning and enhancing prediction accuracy. 在这篇文章中,我们将深入探讨监督学习的概念、机器学习的要求以及学习和提高预测准确…

归纳贪心好题

很有趣的一道归纳贪心题目 class Solution { public:int minimumAddedCoins(vector<int>& coins, int target) {sort(coins.begin(),coins.end());int n coins.size();int s 0,i0;int res 0;while(s<target){if(i<n&&coins[i]<s1)scoins[i];els…

顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH) 一、最大通话时间 1、配置拨号方案 1、点击拨号方案 ->2、在框中输入通话最大时长->3、点击添加->4、根据图中配置->5、勾选continue。修改拨号方案需要等待一分钟即可生效 action"sched…

9M高速USB转接芯片CH347转双串口转I2C转SPI转JTAG转SWD

1、概述 CH347 TSSOP20封装和丝印 CH347 是一款高速 USB 总线转接芯片&#xff0c;通过 USB 总线提供异步串口、I2C 同步串行接口、SPI 同步串行接口和 JTAG 接口等。 在异步串口方式下&#xff0c;CH347 提供了 2 个高速串口&#xff0c;支持 RS485 串口收发使能控制、硬件流控…

LeetCode | 387.字符串中的第一个唯一字符

这道题可以用字典解决&#xff0c;只需要2次遍历字符串&#xff0c;第一次遍历字符串&#xff0c;记录每个字符出现的次数&#xff0c;第二次返回第一个出现次数为1的字符的下标&#xff0c;若找不到则返回-1 class Solution(object):def firstUniqChar(self, s):""…