使用Emacs发送邮件时跳转至域名首页的问题求助
Emacs邮件发送触发EWW打开mailto链接的问题解决
问题诊断
从你提供的回溯栈可以明确:Emacs没有执行预期的SMTP发送逻辑,而是回退调用了mailclient-send-it(),进而通过browse-url用EWW打开mailto链接——这是发送函数配置被意外覆盖或触发回退机制导致的,而非Gmail端直接变更(网页端正常也佐证了这一点)。
解决步骤
检查当前发送函数配置:在Emacs中执行以下命令,查看输出是否为
mailclient-send-it:(message "%s" send-mail-function) (message "%s" message-send-mail-function)如果输出确实是该值,说明核心发送变量被篡改。
强制指定正确的发送函数:在你的Emacs配置文件末尾添加明确设置,确保覆盖任何可能的临时修改。比如使用
message-multi-smtp时:(setq message-send-mail-function 'message-multi-smtp-send-mail) (setq send-mail-function 'smtpmail-send-it)保存配置后重启Emacs测试。
排查配置覆盖原因:
- 检查是否最近安装/更新了邮件相关插件,部分插件可能会自动修改发送函数;
- 执行
M-x customize-variable RET send-mail-function RET,查看当前值与“保存的值”是否一致,若不一致则重新保存正确配置; - 确认是否误执行过修改发送函数的命令或自定义脚本。
验证Gmail SMTP配置(可选):
- 确认
smtpmail-smtp-server为smtp.gmail.com,端口设置为587(STARTTLS)或465(SSL); - 检查authinfo文件中的条目格式是否正确,若开启了2FA,需确保使用的是应用专用密码而非账号密码。
- 确认
同类问题参考
部分用户遇到过类似情况,多因Emacs版本更新后默认配置变化、插件冲突,或临时变量修改未持久化导致。目前暂未发现大规模Gmail SMTP策略变更引发此类问题的案例。
内容的提问来源于stack exchange,提问作者RubyNoob
相关产品推荐
相关产品推荐

