草庐IT

开源的电子邮件客户端Cypht

杨浦老苏 2024-03-20 原文

网友 OOXX 在找好用的 webmail,老苏觉得 Cypht 还不错

什么是 Cypht ?

Cypht 是一个简单、轻量级和现代的 Webmail 客户端,它将多个帐户聚合到一个界面中。除了电子邮件帐户,它还支持 Atom/RSS 源。

安装

建数据库

数据库直接用的群晖的 MariaDB 10

phpMyAdmin 中创建了名为 cypht 的数据库

为了便于说明,我们假设数据库密码为 123456

安装 Cypht

在群晖上以 Docker 方式安装。

在注册表中搜索 cypht ,选择第一个 sailfrog/cypht-docker,双击直接下载。

docker 文件夹中,创建一个新文件夹 cypht,并在其中建一个子文件夹 users

文件夹装载路径说明
docker/cypht/users/var/lib/hm3/users存放用户

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
801780

默认暴露的端口有点多

不用的端口老苏都删掉了

环境

可变
CYPHT_AUTH_USERNAME后台管理员账号
CYPHT_AUTH_PASSWORD后台管理与密码
CYPHT_DB_CONNECTION_TYPE数据库连接类型,默认为 host
CYPHT_DB_HOST数据库主机地址+端口
CYPHT_DB_NAME数据库库名
CYPHT_DB_USER数据库用户
CYPHT_DB_PASS数据库密码
CYPHT_SESSION_TYPE保持登录状态,默认的 DB 即可
CYPHT_DEFAULT_SETTING_TIMEZONE时区设置

更多环境变量的说明:https://hub.docker.com/r/sailfrog/cypht-docker

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 cypht 和 子目录
mkdir -p /volume2/docker/cypht/users

# 进入 cypht 目录
cd /volume2/docker/cypht

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name cypht \
   -p 8017:80 \
   -v $(pwd)/users:/var/lib/hm3/users \
   -e CYPHT_AUTH_USERNAME=admin \
   -e CYPHT_AUTH_PASSWORD=admin_password \
   -e CYPHT_DB_CONNECTION_TYPE=host \
   -e CYPHT_DB_HOST=192.168.0.197:3307 \
   -e CYPHT_DB_NAME=cypht \
   -e CYPHT_DB_USER=cypht \
   -e CYPHT_DB_PASS=123456 \
   -e CYPHT_SESSION_TYPE=DB \
   -e CYPHT_DEFAULT_SETTING_TIMEZONE=Asia/Shanghai \
   sailfrog/cypht-docker:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  cypht:
    image: sailfrog/cypht-docker:latest
    container_name: cypht
    restart: unless-stopped
    volumes:
      - ./users:/var/lib/hm3/users
    ports:
      - "8017:80"
    environment:
      - CYPHT_AUTH_USERNAME=admin
      - CYPHT_AUTH_PASSWORD=admin_password
      - CYPHT_DB_CONNECTION_TYPE=host
      - CYPHT_DB_HOST=192.168.0.197:3307
      - CYPHT_DB_NAME=cypht
      - CYPHT_DB_USER=cypht
      - CYPHT_DB_PASS=123456
      - CYPHT_SESSION_TYPE=DB
      - CYPHT_DEFAULT_SETTING_TIMEZONE=Asia/Shanghai

更多环境变量的说明:https://hub.docker.com/r/sailfrog/cypht-docker

然后执行下面的命令

# 新建文件夹 cypht 和 子目录
mkdir -p /volume2/docker/cypht/users

# 进入 cypht 目录
cd /volume2/docker/cypht

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8017 就能看到登录界面

登录成功后的主界面

设置邮箱

Settings --> Servers --> Add an E-mail Account

以老苏的 wbsu2003@hotmail.com 为例,目前支持的邮箱类型挺多的

注意,邮箱类型是 Office365 而不是 Outlook.com

输入 E-Mail Password

如果设置错误,点 Connect 之后,右上角会显示 Authentication failed

设置成功之后,左侧菜单就有 Email

非支持列表中的邮箱

以老苏的 wbsu2003@88.com 为例

首先设置 SMTP 服务,这是发送邮件需要的

输入账号密码之后

Save 保存

接下来设置 IMAP 服务,这是收邮件需要的

当然你也可以用 POP3 服务

输入账号密码之后

Save 保存

添加 RSS

Settings --> Servers --> AAdd an RSS/ATOM Feed

添加成功

左侧菜单点 Everything,邮件和 RSS 完美的融合在同一个界面

参考文档

jasonmunro/cypht: Cypht: Lightweight Open Source webmail written in PHP and JavaScript
地址:https://github.com/jasonmunro/cypht

Cypht
地址:https://cypht.org/

sailfrog/cypht-docker - Docker Image | Docker Hub
地址:https://hub.docker.com/r/sailfrog/cypht-docker

有关开源的电子邮件客户端Cypht的更多相关文章

  1. ruby-on-rails - 验证电子邮件地址是 Paypal 用户 - 2

    我想验证一个电子邮件地址是否是PayPal用户。是否有API调用来执行此操作?是否有执行此操作的ruby​​库?谢谢 最佳答案 GetVerifiedStatus来自PayPal'sAdaptiveAccounts平台会为您做这件事。PayPal没有任何codesamples或SDKs用于Ruby中的自适应帐户,但我确实找到了编写codeforGetVerifiedStatusinRuby的人.您需要更改该代码以检查他们拥有的帐户类型的唯一更改是更改if@xml['accountStatus']!=nilaccount_status

  2. ruby-on-rails - Ruby on Rails - 需要在每周的特定时间将消息发送到电子邮件 - 2

    我想知道我应该如何着手这个项目。我需要每周向人们发送一次电子邮件。但是,这必须在每周的特定时间自动生成并发送。编码有多难?我需要知道是否有任何书籍可以提供帮助,或者你们中的任何人是否可以指导我。它必须使用ruby​​onrails进行编程。因此有一个网络服务和数据库集成。干杯 最佳答案 为什么这么复杂?您只需安排工作。您可以使用Delayed::Job例如。Delayed::Job让您可以使用run_at符号在特定时间安排作业,如下所示:Delayed::Job.enqueue(SendEmailJob.new(...),:run_

  3. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  4. ruby - 使用ruby mail gem获取电子邮件正文而不获取附件 - 2

    我正在尝试使用IMAP和ruby​​mailgem获取gmail的正文。当我按照anotherstackoverflowanswer.中的描述获取RFC822字段时,它工作得很好.Fiedl很好地描述了这种方法answer类似的问题。这种方法很棒,只是它需要获取RFC822,而RFC822也会获取所有附件。是否有任何其他领域或其他方法我可以采取不获取附件但仍然使用ruby​​mailgem来获得解码良好的正文? 最佳答案 您必须解析并理解返回的BODYSTRUCTURE响应的实际结构,请参阅RFC3501,p.56.还要记住应用相关

  5. ruby - 使用 S/MIME 在 Ruby 中对电子邮件进行数字签名 - 2

    Ruby中是否有一种方法可以使用S/MIME对电子邮件消息进行数字签名?我们的团队使用PKI,我们的用户习惯于期待重要消息的数字签名。我知道我可以调用openssl命令行工具:opensslsmime-sign-signer$CERT_FILE-passinpass:$CERT_PASS-in$UNSIGNED_MAIL-out$SIGNED_MAIL-certfile$CERT_CA_FILE-from'your'-to'recipients'-subject'TheSubject'但我希望利用Ruby解决方案。 最佳答案 我最终

  6. ruby-on-rails - 为什么我必须在使用客户验证器后重新加载 rspec 中的记录? - 2

    我有一个模型User,它在创建后的回调中创建了选项#Userhas_one:user_optionsafter_create:create_optionsprivatedefcreate_optionsUserOptions.create(user:self)end我对此有一些简单的Rspec覆盖:describe"newuser"doit"createsuser_optionsaftertheuseriscreated"douser=create(:user)user.user_options.shouldbe_kind_of(UserOptions)endend一切正常,直到我将自

  7. ruby - 如何获得带有 SSL 客户端证书的 HTTPS 请求以与 Ruby EventMachine 一起使用? - 2

    我正在尝试使用RubyEventMachine访问使用SSL证书身份验证的HTTPSWeb服务,但我没有让它工作。我编写了以下简单代码块来对其进行端到端测试:require'rubygems'require'em-http'EventMachine.rundourl='https://foobar.com/'ssl_opts={:private_key_file=>'/tmp/private.key',:cert_chain_file=>'/tmp/ca.pem',:verify_peer=>false}http=EventMachine::HttpRequest.new(url).g

  8. ruby-on-rails - 在 Ruby on Rails 应用程序中使用客户端 SSL - 2

    我正在为需要与API建立SSL连接的客户端开发应用程序。我得到了三个文件;一个信任根证书(.cer)文件、一个中间证书(.cer)文件和一个签名的响应文件。我得到的安装说明与IIS或Javakeytool程序有关;我正在用RubyonRails构建应用程序,所以这两种方法都不是一个选项(据我所知)。证书由运行API服务的组织自签名,看来我获得了客户端证书以相互验证https连接。我不确定如何使用我的应用程序中的证书连接和使用API签名响应文件的作用我读过"Usingaself-signedcertificate"和thisarticleonOpenSSLinRuby但两者似乎都不是很到

  9. ruby-on-rails - 带有内联附件的 Rails 邮件程序错误 - 2

    我在ActionMailer中有一个非常罕见的行为,我在5个月前实现了一个邮件程序操作并且它工作正常,但昨天,由于一些奇怪的原因,它崩溃了。问题我有一个邮件布局,为了在我所有的电子邮件中使用它,我在其中渲染了一张之前由前置过滤器附加的图像Layout=app/views/layouts/email.html.erbVisionamos>......用户邮件程序=app/mailers/users.rbclassUsuariosMailer"monitoreo@visionamos.com"layout"mail"#Setemaillayoutbefore_filter:add_inli

  10. ruby - 为什么这个启用 SSL 的 Ruby 服务器/客户端测试有效? - 2

    我正在努力在Ruby中创建启用SSL的服务器,以及与服务器一起使用的相应Ruby客户端。为了进行测试,我使用以下命令创建了自己的根CA证书。$:~/devel/ssl-test/ssl/CA$opensslgenrsa-outTestCA.key2048GeneratingRSAprivatekey,2048bitlongmodulus............+++...........................+++eis65537(0x10001)$:~/devel/ssl-test/ssl/CA$opensslreq-new-keyTestCA.key-outTestCA.

随机推荐