
网友
OOXX在找好用的webmail,老苏觉得Cypht还不错
什么是 Cypht ?
Cypht是一个简单、轻量级和现代的Webmail客户端,它将多个帐户聚合到一个界面中。除了电子邮件帐户,它还支持Atom/RSS源。
数据库直接用的群晖的 MariaDB 10

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

为了便于说明,我们假设数据库密码为
123456
在群晖上以 Docker 方式安装。
在注册表中搜索 cypht ,选择第一个 sailfrog/cypht-docker,双击直接下载。

在 docker 文件夹中,创建一个新文件夹 cypht,并在其中建一个子文件夹 users
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/cypht/users | /var/lib/hm3/users | 存放用户 |

本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
8017 | 80 |
默认暴露的端口有点多

不用的端口老苏都删掉了

| 可变 | 值 |
|---|---|
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 保存

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
我想验证一个电子邮件地址是否是PayPal用户。是否有API调用来执行此操作?是否有执行此操作的ruby库?谢谢 最佳答案 GetVerifiedStatus来自PayPal'sAdaptiveAccounts平台会为您做这件事。PayPal没有任何codesamples或SDKs用于Ruby中的自适应帐户,但我确实找到了编写codeforGetVerifiedStatusinRuby的人.您需要更改该代码以检查他们拥有的帐户类型的唯一更改是更改if@xml['accountStatus']!=nilaccount_status
我想知道我应该如何着手这个项目。我需要每周向人们发送一次电子邮件。但是,这必须在每周的特定时间自动生成并发送。编码有多难?我需要知道是否有任何书籍可以提供帮助,或者你们中的任何人是否可以指导我。它必须使用rubyonrails进行编程。因此有一个网络服务和数据库集成。干杯 最佳答案 为什么这么复杂?您只需安排工作。您可以使用Delayed::Job例如。Delayed::Job让您可以使用run_at符号在特定时间安排作业,如下所示:Delayed::Job.enqueue(SendEmailJob.new(...),:run_
我想在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非常感谢!
我正在尝试使用IMAP和rubymailgem获取gmail的正文。当我按照anotherstackoverflowanswer.中的描述获取RFC822字段时,它工作得很好.Fiedl很好地描述了这种方法answer类似的问题。这种方法很棒,只是它需要获取RFC822,而RFC822也会获取所有附件。是否有任何其他领域或其他方法我可以采取不获取附件但仍然使用rubymailgem来获得解码良好的正文? 最佳答案 您必须解析并理解返回的BODYSTRUCTURE响应的实际结构,请参阅RFC3501,p.56.还要记住应用相关
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解决方案。 最佳答案 我最终
我有一个模型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一切正常,直到我将自
我正在尝试使用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
我正在为需要与API建立SSL连接的客户端开发应用程序。我得到了三个文件;一个信任根证书(.cer)文件、一个中间证书(.cer)文件和一个签名的响应文件。我得到的安装说明与IIS或Javakeytool程序有关;我正在用RubyonRails构建应用程序,所以这两种方法都不是一个选项(据我所知)。证书由运行API服务的组织自签名,看来我获得了客户端证书以相互验证https连接。我不确定如何使用我的应用程序中的证书连接和使用API签名响应文件的作用我读过"Usingaself-signedcertificate"和thisarticleonOpenSSLinRuby但两者似乎都不是很到
我在ActionMailer中有一个非常罕见的行为,我在5个月前实现了一个邮件程序操作并且它工作正常,但昨天,由于一些奇怪的原因,它崩溃了。问题我有一个邮件布局,为了在我所有的电子邮件中使用它,我在其中渲染了一张之前由前置过滤器附加的图像Layout=app/views/layouts/email.html.erbVisionamos>......用户邮件程序=app/mailers/users.rbclassUsuariosMailer"monitoreo@visionamos.com"layout"mail"#Setemaillayoutbefore_filter:add_inli
我正在努力在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.