需要到 QQ 邮箱的 设置 -> 账户-> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启 POP3/SMTP服务 并生成授权码。
安装相关的包:
RedHat 系: sudo dnf install s-nail
Debian 系: sudo apt install mailutils
再执行 dpkg-reconfigure exim4-config
改配置,或直接编辑 /etc/exim4/update-exim4.conf.conf 文件内容为:
# 主要是改下面这行
dc_eximconfig_configtype='internet'
dc_other_hostnames='<name>'
dc_local_interfaces='127.0.0.1 ; ::1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
向要发送邮件的用户的 ~/.mailrc 文件中写入:
set v15-compat
set from="<qq-account-number>@qq.com"
set mta="smtp://<qq-account-number>:<smtp-passwd>@smtp.qq.com"
set smtp-auth=login
有些教程说写成这样的:
set from="<qq-account-number>@qq.com"
set smtp="smtp.qq.com"
set smtp-auth-user="<qq-account-number>@qq.com"
set smtp-auth-password="<smtp-passwd>"
set smtp-auth=login
这个写法会在即将到来的 v15 版本中被弃用,所以不应使用这种写法。
网上有些教 CentOS 的教程说把配置信息直接写入 /etc/s-nail.rc 中,这个做法不对。文件 /etc/s-nail.rc 作用于全局,可能会影响不需要这些配置的用户。此外,如果用户编辑了 /etc/s-nail.rc 文件,那么如果 s-nail 包的维护者更新了这个文件,那么用户可能需要手动处理这个文件的更新。
同理,在 Debian 上把配置写入 /etc/exim4/passwd.client 也不对。
最后使用 echo "content" | mail -s "title" <email>
或 echo "content" | s-nail -s "title" <email>
向指定邮箱发送测试邮件。