GNOME/Evolution
Evolution 是一个用于管理电子邮件、日历、联系人、任务、笔记和 RSS 网络订阅的应用程序。 它是 GNOME 的默认邮件客户端,并支持 IMAP、Microsoft Exchange Server、Novell GroupWise、LDAP、WebDAV、CalDAV 以及许多其他服务和协议。
安装
安装 evolution 软件包。 非 GNOME 用户也应该查看 #在 GNOME 之外使用 Evolution。
附加插件
- Bogofilter 插件 — 使用 Bogofilter 为 Evolution 提供垃圾邮件过滤。
- EteSync 插件 — 使用 EteSync 开源协议为 Evolution 提供端到端加密的私有信息同步。
- EWS 插件 — 通过 Exchange Web Services 集成 MS Exchange。
- On 插件 — 支持从系统托盘控制 Evolution。
- SpamAssassin 插件 — 使用 SpamAssassin 为 Evolution 提供垃圾邮件过滤。
IMAP 设置
请参阅 GNOME 帮助中的 IMAP+ 邮件帐户设置[失效链接 2024-12-15 ⓘ]。
替代的 IMAP 设置
让 Evolution 直接连接到 IMAP 服务器的替代方案是将 IMAP 服务器同步到您的 PC。 这会占用与您的邮件一样多的硬盘空间,尽管可以限制以此方式同步的文件夹(请参阅 #OfflineIMAP 设置)。 额外的好处(此应用程序的主要灵感)是您在 PC 上拥有电子邮件的完整副本(包括附件),以便检索,即使在没有互联网连接的情况下移动。
要进行此设置,您需要安装 offlineimap 软件包。 有关更多信息,请参阅 https://www.offlineimap.org/。
OfflineIMAP 设置
OfflineIMAP 从 ~/.offlineimaprc
文件中获取其设置,您需要创建该文件。 大多数用户将能够将下面的模板文件用于标准 IMAP 服务器。 有关更多信息,请参阅 OfflineIMAP。
[general] accounts = MyAccount # Set this to the number of accounts you have. maxsyncaccounts = 1 # You can set ui = TTY.TTYUI for interactive password entry if needed. # Setting it within this file (see below) is easier. ui = Noninteractive.Basic [Account MyAccount] # Each account should have a local and remote repository localrepository = MyLocal remoterepository = MyMailserver # Specifies how often to do a repeated sync (if running without crond) autorefresh = 10 [Repository MyLocal] type = Maildir localfolders = /home/path/to/your/maildir # This needs to be specified so offlineimap does not complain during resync sep = . nametrans = lambda folder: re.sub('^.', '', re.sub('^$', '.INBOX', folder)) [Repository MyMailserver] # Example for a gmail account type = IMAP remotehost = your.imap.server.com remoteuser = yourname remotepass = yourpassword remoteport = 143 # You need to configure some CA certificates sslcacertfile = /etc/ssl/certs/ca-certificates.crt # Translate your INBOX to be the root directory. # All other directories need a dot before the actual name. nametrans = lambda folder: re.sub('^.INBOX$', '', re.sub('^', '.', folder))
如果您使用 Gmail,则可能需要添加 额外的翻译[失效链接 2023-04-23 ⓘ]。
对于远程邮件服务器存储库
nametrans = lambda folder: re.sub('^.INBOX$', '', re.sub('^', '.', re.sub('\.', '_2E', re.sub('^\[Gmail\].Drafts$', 'Drafts', re.sub('^\[Gmail\].Sent Mail$', 'Sent', folder)))))
对于本地存储库
nametrans = lambda folder: re.sub('^Sent$', '[Gmail].Sent Mail', re.sub('^Drafts$', '[Gmail].Drafts', re.sub('_2E', '.', re.sub('^.', '', re.sub('^$', '.INBOX', folder)))))
nametrans 配置的其他示例(包括 Courier IMAP 服务器的示例)可以在 https://www.offlineimap.org/doc/nametrans.html 找到。
~/.offlineimaprc
代码行中任何数量的空格缩进都将被解释为前一行的延续。 如果需要此行为(例如上面 lambda 表达式中的 re.sub
调用),请注意仅缩进行。您可能还对在后台运行 offlineimap 感兴趣。
为 offlineimap 的 maildir 设置 Evolution
请参阅 GNOME 帮助中的 Maildir 格式邮件目录帐户设置[失效链接 2024-12-15 ⓘ]。 如果您使用的是 #OfflineIMAP 设置 中的 ~/.offlineimaprc
文件的变体,请在编辑 > 首选项 > 邮件帐户 > 编辑 > 接收邮件 中将邮件目录路径设置为“根”文件夹。 您还可以选择在接收选项中更频繁地“检查新邮件”(例如每分钟而不是每 60 分钟),因为此过程只会检查您的本地副本,而不会检查服务器端副本。
Gmail 设置
请参阅 GNOME 帮助中的 通过 Evolution 访问 Gmail IMAP[失效链接 2024-12-15 ⓘ] 或 通过 Evolution 访问 Gmail POP 帐户[失效链接 2024-12-15 ⓘ]。 您可能还会对阅读 Gmail 帮助中的 通过其他电子邮件平台查看 Gmail(对于 IMAP) 或 在其他电子邮件客户端上使用 POP 读取 Gmail 邮件 感兴趣,以便在 Evolution 邮件配置助手的接收邮件和/或发送邮件下手动填写以下字段/复选框
- 服务器类型
- 服务器 和 端口
- 服务器需要身份验证
- 用户名
- 加密方法
应从接收邮件中身份验证下的下拉菜单中选择 OAuth2 (Google)。
- 如果您在身份节中选中根据输入的电子邮件地址查找邮件服务器详细信息,则助手将自动配置您通过 Gmail 接收/发送邮件的设置。 请注意,助手将始终默认为使用 IMAP 接收邮件。
- 如果您正在使用 GNOME,则可以改为通过设置 > 在线账户添加 Google 帐户。
Gmail 日历
您可以通过两种方法之一在 Evolution 中使用您的 Gmail 日历(不包括 GNOME 在线账户[失效链接 2024-12-15 ⓘ],如 #Gmail 设置 中所述)。
使用 WebDAV 日历
按照 Google 日历帮助 中“获取您的日历(仅查看)”下的步骤,获取您所需日历的“iCal 格式的秘密地址”。 然后按照 GNOME 帮助中的 使用 WebDev 日历[失效链接 2024-12-15 ⓘ] 下的步骤操作。 将先前获得的秘密地址用作 URL 字段中的地址。
使用 Google 日历
按照 GNOME 帮助中的 使用 Google 日历[失效链接 2024-12-15 ⓘ] 下的步骤操作。 如果出现提示,您可能需要授予 GNOME Evolution 访问您的 Google 帐户的权限。
Google 联系人
与 #Gmail 日历 类似,您也可以在 Evolution 中同步您的 Google 联系人。 有关更多信息,请参阅 GNOME 帮助中的 使用 Google 地址簿[失效链接 2024-12-15 ⓘ]。
Microsoft Exchange 和 Office 365
如果您的电子邮件本地托管在 Microsoft Exchange Server 上或云托管在 Office 365 上,则可以使用 IMAP/POP 和 SMTP 访问您的电子邮件。 但是,某些附加功能(例如访问 Outlook 日历和联系人管理)仅在您使用 Microsoft 的专有 Exchange ActiveSync (EAS) 协议连接到 Microsoft Exchange Server 或 Office 365 服务器时可用。
您可以通过两种方法在 Evolution 中添加/管理 Microsoft Exchange 帐户,但这两种方法都需要 Evolution EWS。
使用 GNOME 在线账户
如果 gnome-online-accounts 软件包尚不存在,请安装 gnome-online-accounts 软件包。 然后在 GNOME 设置 中选择在线账户,并使用以下值添加新的 Microsoft Exchange 帐户
电子邮件 | 您的电子邮件地址(例如 your.name@example.com) |
---|---|
密码 | 您的电子邮件帐户密码或来自 https://aka.ms/mfasetup 的应用密码 |
用户名 | 再次输入您的电子邮件地址 |
服务器 | outlook.office365.com |
单击连接后,您的 Exchange 帐户应与您的其他在线帐户一起列出。 选择您要同步的内容(默认情况下,所有功能都已启用)。
- 如果您的电子邮件地址使用自定义域,您仍然需要在帐户配置期间对服务器字段使用 outlook.office365.com。
- 启用 2FA 将阻止连接到 Exchange 服务器。
不使用 GNOME 在线账户
请参阅 https://wiki.gnome.org/Apps/Evolution/EWS/OAuth2; 特别是,免费帐户用户的简介和“在 Evolution 中配置帐户”。 换句话说,免费帐户用户无需担心应用程序/租户 ID,因为他们无法使用 OAuth2。
您的组织可能不允许访问 GNOME Evolution (EWS) 应用程序。 一种可能的解决方法(而不是向管理员请求访问权限)是从 Evolution 邮件配置助手的接收邮件部分中身份验证下的下拉菜单中选择基本而不是 OAuth2 (Office365)。 免费帐户用户也可以选择基本—这是“创建应用程序特定密码”的替代方案。
在 GNOME 之外使用 Evolution
Evolution 依赖 GNOME Keyring 来存储帐户密码,因此要在 GNOME 之外使用 Evolution,请参阅 GNOME/Keyring#使用密钥环 并确保存在名为 login 的密码密钥环。
拼写检查
请参阅 GNOME 帮助中的 拼写检查[失效链接 2024-12-15 ⓘ]。 Evolution 通过 gspell 使用 Enchant,因此您可以使用 Hunspell 以外的检查器来帮助进行拼写检查。
提示和技巧
更改密码设置
可以更改用于保护与服务器连接的通告密码。 Evolution 不提供用于更改所用密码设置的开关。 但是,由于 Evolution 使用 GnuTLS,因此可以使用环境变量更改设置。
更改这些设置的一种方法是将 /usr/share/applications/org.gnome.Evolution.desktop
文件复制到 ~/.local/share/applications/
并在复制的 .desktop
文件中设置适当的环境变量。 例如,进行以下更改以避免使用带有 NIST/NSA 曲线的 ECC 密码
~/.local/share/applications/org.gnome.Evolution.desktop
... Exec=env G_TLS_GNUTLS_PRIORITY=${G_TLS_GNUTLS_PRIORITY:-NORMAL:-ECDHE-ECDSA:-ECDHE-RSA} evolution %U ...
实现此目的的另一种方法是使用包装脚本
#!/bin/sh export G_TLS_GNUTLS_PRIORITY=${G_TLS_GNUTLS_PRIORITY:-NORMAL:%COMPAT:\!VERS-SSL3.0} exec /usr/bin/evolution
可用的密码设置记录在 https://gnutls.org/manual/html_node/Priority-Strings.html 中。
使用自定义字体
默认情况下,Evolution 仅提供少量内置字体用于编写消息。 但是,您可以将其他字体设置为编写 HTML 消息时的“默认”选项。 这是通过在 ~/.local/share/evolution/webkit-editor-plugins/body-font.js
上创建 webkit 编辑器插件来完成的。 查看下面使用 Microsoft Calibri 字体的示例
'use strict'; var localhostBodyFontPlugin = { name : "localhostBodyFontPlugin", setup : function(doc) { if (doc.body) { doc.body.setAttribute("style", "font-family: Calibri,sans-serif; font-size: 11.0pt;") } } }; EvoEditor.RegisterPlugin(localhostBodyFontPlugin);