type
Post
status
Published
slug
2023/02/20/linux-email-configure-mutt-msmtp-gmail
summary
ArchLinux 的 mutt 工具配置
tags
思考
工具
Linux
category
技术分享
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM
最近我尝试为 Linux staging 分支贡献相关补丁。在提交补丁之前,最重要的一步是配置邮件发送工具:mutt。然而,在配置 mutt 工具时遇到了很多问题。在这里,我记录下了整个过程,希望能够帮助需要的朋友。
💡
注意:此配置只在 ArchLinux 上进行过测试!

1 安装 mutt

sudo pacman -S mutt

2 重新编译 msmtp

2.1 安装构建工具

💡
因为我采用的 smtp 客户端是 msmtp ,且 msmtp 默认的 TLS 库是 GnuTLS 与 Gmail 不兼容,会出现 msmtp: TLS handshake failed: the operation timed out 错误,所以需要自己手动重新编译 msmtp。
sudo pacman -S base-devel

2.2 准备 msmtp 源码

下面是 msmtp 最新版本 1.8.23 的源码包下载链接
  • 下载源码包
wget https://src.fedoraproject.org/lookaside/pkgs/msmtp/msmtp-1.8.23.tar.xz/sha512/69675cb539fa5c78b83e90a460e8215e56b1d0fa7a18729eb058b8d51414d13b88fbcdb2092767e7e96c325a143230ac09e041ea74d068bf267e508418cf674a/msmtp-1.8.23.tar.xz
  • 解压源码包
tar xvf msmtp-1.8.23.tar.xz
  • 重新编译 msmtp
cd msmtp-1.8.23/ && ./configure --prefix=/usr/ --with-tls=openssl
  • 安装 msmtp
sudo make install

3 配置 Gmail

3.2 Gmail 开启 smtp

第 1 步:检查 IMAP 是否已启用

1. 在计算机上打开 Gmail 2. 点击右上角的“设置”图标   查看所有设置 3. 点击转发和 POP/IMAP 标签页。 4. 在“IMAP 访问”部分,选择启用 IMAP 5. 点击保存更改

第 2 步:在电子邮件客户端中更改 SMTP 和其他设置

参考下表,使用正确的信息更新您的客户端。如需有关更新设置的帮助,请在您的电子邮件客户端的帮助中心内搜索关于 IMAP 设置的说明。
接收邮件 (IMAP) 服务器
imap.gmail.com 要求 SSL:是 端口:993
发送邮件 (SMTP) 服务器
smtp.gmail.com 要求 SSL:是 要求 TLS:是(如适用) 使用身份验证:是 SSL 端口:465 TLS/STARTTLS 端口:587
完整名称或显示名称
您的姓名
帐号名、用户名或电子邮件地址
您的完整电子邮件地址
密码
您的 Gmail 密码

3.2 获取 Gmail 应用密码

  • 现在基本上大部分用户都开始了两步验证,所以在使用 smtp 客户端的时候,需要使用应用密码进行连接。
应用专用密码是一个 16 位的密码,可授权安全性较低的应用或设备访问您的 Google 帐号。只有已开启两步验证功能的帐号才可使用应用专用密码。

创建和使用应用专用密码

如果您已开启两步验证功能,并且在登录帐号时收到了“密码不正确”错误消息,可以尝试使用应用专用密码。
  1. 转到您的 Google 帐号
  1. 选择安全性
  1. 在“登录 Google”下方,选择应用专用密码。您可能需要登录。如果您没有此选项,可能是因为:
    1. 您的帐号未设置两步验证。
    2. 您只为两步验证设置了安全密钥。
    3. 您使用的是通过单位、学校或其他组织获取的帐号。
    4. 您开启了高级保护功能。
  1. 在底部,依次选择选择应用和您使用的应用 选择设备和您使用的设备 生成
  1. 按照说明,输入应用专用密码(即设备上的黄条中显示的 16 个字符的密码)。
  1. 点按完成
提示:在大多数情况下,您只需为每个应用或设备输入一次应用专用密码,因此不用担心自己记不住这个密码。

4 配置 mutt 与 msmtp

4.1 配置 mutt 使用 msmtp

  • 编写 mutt 配置文件
vim ~/.muttrc
  • 具体内容
set sendmail="/usr/bin/msmtp" set envelope_from=yes set from="Your Name <Your Name@gmail.com>" set use_from=yes set edit_headers=yes

4.2 配置 msmtp

  • 编辑配置文件
vim .msmtprc
  • 具体内容
# Set default values for all following accounts. defaults auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile ~/.msmtp.log # Gmail account gmail host smtp.gmail.com port 587 tls_starttls on from YourName@gmail.com user YourName password YourAppPasswordCode # Set a default account account default : gmail

4.3 测试

echo "Some text" | msmtp someone@expoli.tech -a gmail

5 参考资料

 
欢迎加入喵星计算机技术研究院,原创技术文章第一时间推送。
notion image
 
Synergy —— 通过网络使用一套键盘鼠标控制多台电脑Linux 内核开发环境配置