关于Thunderbird无法识别无扩展名邮件文件及强制以邮件格式打开的技术问询
Thunderbird无法识别无扩展名邮件文件及强制以邮件格式打开的技术问询
嘿,这个问题我之前帮朋友处理过,刚好有几个实用的解决办法,咱们一步步来:
方法一:直接用Thunderbird的内置功能强制打开
- 拖放法:打开Thunderbird主界面后,直接把那个无扩展名的邮件文件拖进Thunderbird的邮件列表区域(比如收件箱、草稿箱这些文件夹),它会自动识别为邮件并打开。
- 手动选择打开:在Thunderbird顶部菜单点击
文件 -> 打开 -> 邮件文件,在弹出的文件选择窗口里,把右下角的「文件类型」切换为「所有文件」,选中目标文件后确认打开,Thunderbird会强制按邮件格式解析它。
方法二:Linux系统层面的自定义打开脚本
如果想让系统默认用Thunderbird以邮件格式打开这类无扩展名文件,可以写个简单的脚本实现:
- 创建一个名为
open-as-eml.sh的脚本,内容如下:
#!/bin/bash # 临时复制文件并添加.eml后缀,再用Thunderbird打开 temp_file=$(mktemp --suffix=.eml) cp "$1" "$temp_file" thunderbird "$temp_file" # 可选:Thunderbird关闭后自动删除临时文件,取消下面一行的注释即可 # trap "rm -f $temp_file" EXIT
- 给脚本添加执行权限:
chmod +x open-as-eml.sh
- 在文件管理器里选中无扩展名文件,右键选择「打开方式 -> 选择其他应用」,找到刚才创建的脚本,勾选「始终用此应用打开此类文件」,以后双击就能直接打开成邮件了。
方法三:修改mbsync配置从根源解决
既然问题是mbsync下载的文件没有扩展名,那直接让它下载时自动加上.eml后缀,就能一劳永逸解决:
打开你的mbsync配置文件(通常路径是~/.mbsyncrc),找到对应的同步通道配置段,调整TargetPath参数,给文件名加上.eml后缀,示例如下:
Channel MyMail Master :MyIMAP:INBOX Slave ~/.mail/personal/INBOX/ Sync Pull TargetPath ~/.mail/personal/INBOX/.%u.eml # 这里的.eml就是新增的后缀 Pattern * Create Both Expunge Both CopyArrivalDate yes
保存配置后重启mbsync,后续下载的邮件文件都会自动带上.eml后缀,Thunderbird就能正常识别打开了。
备注:内容来源于stack exchange,提问作者Daniel Krajnik
相关产品推荐
相关产品推荐

