AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 782522
Accepted
nvx
nvx
Asked: 2024-08-25 22:40:56 +0800 CST2024-08-25 22:40:56 +0800 CST 2024-08-25 22:40:56 +0800 CST

Mutt:使用模板自动回复?

  • 772

在 Mutt 中,我想配置类似于 Thunderbird 中的“使用模板回复”消息过滤器操作。即,对于给定的消息,我希望能够轻松(阅读:键盘快捷键)发送带有预定义主题和正文的回复。这可能吗?

谢谢。

mutt
  • 1 1 个回答
  • 51 Views

1 个回答

  • Voted
  1. Best Answer
    nvx
    2024-08-29T16:08:59+08:002024-08-29T16:08:59+08:00

    我想出了一个解决方案,需要Vim(我选择的编辑器)加上一个Vimscript函数、一个简单的Bash脚本和一个模板文件。这可确保文本被正确编码(例如format=flowed),因为Mutt实际上会处理文本编辑器保存的文件(在Mutt 手册中搜索“Space-stuffing” )。

    一个(也许)更好的解决方案正在酝酿中,该解决方案仅在Mutt中实现,但出于Mutt:如何禁用为单个内联纯文本附件指定文件名?中列出的原因,该解决方案仍然不够完善。此外,附加的文本文件(模板回复)不会以任何方式进行处理,这可能会给收件人带来问题。

    无论如何,Vimscript函数(存储在中)会用模板文件中的文本替换Mutt~/.vimrc准备的回复文本:

    function! AutoReply()
      %d_
      r /path/to/template
      0d_
      wq
    endfunction
    

    第一行删除所有内容(存入黑洞寄存器),第二行从模板文件读取模板文本,第三行删除由read( r; 再次存入黑洞寄存器) 插入的前导空行,最后一行保存文件并退出Vim。

    Bash脚本( ~/.mutt/vim-auto-reply) 用作Mutt的 的临时替代editor,并确保上述函数被调用为Vim自动命令:

    #!/bin/bash
    vim $1 "+:call AutoReply()"
    

    单击按键的Mutt宏(在此示例中绑定到Esc- a)如下所示:

    macro index,pager \ea "<enter-command>set editor=~/.mutt/vim-auto-reply<enter><reply><edit-from><kill-line>Do Not Reply <[email protected]><enter><edit-subject>)<bol><delete-char><delete-char><delete-char><delete-char>Automatic Reply (was: <enter><send-message>a<enter-command>set editor=vim<enter>" "Auto-reply + archive"
    

    让我们解开命令:

    • <enter-command>set editor=~/.mutt/vim-auto-reply<enter>:临时将 设置editor为我们的脚本(用模板替换消息内容并立即退出Vim),
    • <reply>:回复选定的消息(需要set fast_reply),
    • <edit-from><kill-line>Do Not Reply <[email protected]><enter>From:用合适的值替换标头中的发件人,
    • <edit-subject>)<bol><delete-char><delete-char><delete-char><delete-char>Automatic Reply (was: <enter>:更改主题(例如,“原始主题” --> “自动回复(原先为:原始主题)”),四个s 删除Mutt在回复时<delete-char>添加的“回复:” ,
    • <send-message>:发送我们的自动回复,
    • a:存档原始邮件,
    • <enter-command>set editor=vim<enter>:恢复我们的原始editor。

    倒数第二个命令( )与我的存档宏相关联,该宏也将该消息标记为已读( Index和Pagera之间的唯一区别是前导):i

    macro index a "<enter-command>set resolve=no<enter><clear-flag>N<enter-command>set resolve=yes<enter><save-message>=Archive<enter>" "Archive message (mark as read)"
    macro pager a "i<enter-command>set resolve=no<enter><clear-flag>N<enter-command>set resolve=yes<enter><save-message>=Archive<enter>" "Archive message (mark as read)"
    

    再次,让我们解析一下这里的内容:

    • <enter-command>set resolve=no<enter>:我们不想在执行以下步骤后继续处理下一条消息,
    • <clear-flag>N:清除“新”标志(即将该消息标记为已读),
    • <enter-command>set resolve=yes<enter>:恢复原始行为(每当执行修改当前消息的命令时前进到下一条消息),
    • <save-message>=Archive<enter>:将原始邮件保存到存档文件夹,
    • 分页器i的领先:首先跳到索引(其余部分正常工作所需)。

    使用方法:只需在索引或分页器中按下Esc-即可。:)a

    • 0

相关问题

  • Mutt 和字符集问题

  • 如何在计算机之间同步电子邮件联系人以在 mutt 中使用?

  • 没有 edit_headers 的 Mutt 自动编辑选项

  • mutt 正在改变 body 中的内容

  • Mutt abook 空查询

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve