1

Я использую Mutt в качестве почтового клиента с Vim, настроенным в качестве моего редактора. Время от времени я хочу отправить электронное письмо (обычно себе) с пустым телом сообщения, например, сообщение содержит строку темы и вложение.

При составлении такого электронного письма я ввожу строку темы и адрес получателя, а затем открывается Vim, чтобы позволить мне редактировать текст сообщения. Я должен ввести пробел перед сохранением и закрытием временного файла. Если я просто выйду из Vim без ввода текста (используя команды :q или :x ), я получу следующее сообщение об ошибке и вернусь к индексу папки почтового ящика.

Прерванное неизмененное сообщение.

Я знаю, что могу использовать командную строку для отправки такого сообщения:

 echo | mutt -s "Subject Line" -a attachment.zip anthony@example.com

Тем не менее, я хотел бы иметь возможность сделать это, используя Mutt в интерактивном режиме. Есть ли переменная конфигурации, которую можно установить для разрешения пустых тел сообщений?

Я просмотрел документацию на веб-сайте Mutt и использовал DuckDuckGo и Google для поиска фразы «Прерванное неизмененное сообщение», но все результаты, по-видимому, связаны с пользователями, у которых не была правильно установлена переменная editor .

2 ответа2

5

Mutt записывает время изменения временного файла тела сообщения перед запуском Vim, а затем снова проверяет его после выхода из Vim. Если время изменения не изменилось, Mutt не отправляет сообщение электронной почты и выдает Aborted unmodified message .

Самый простой способ избежать этого - просто написать пустой буфер с помощью :w перед закрытием Vim.

2

Вы можете использовать $editor в ваших интересах здесь.

Во-первых, напишите небольшой скрипт, который ищет что-то конкретное, что указывает на то, что это должно быть электронное письмо с пустым телом. Например, вы можете поместить какой-то специальный символ в качестве первого символа в поле «Тема».

Если скрипт не обнаруживает этот индикатор, он должен просто нормально запустить ваш обычный редактор.

Если он обнаружит , что показатель, тем не менее, он должен touch файла сообщения (который задается в качестве первого параметра в $editor вызова) и обратно. Вы также можете сделать так, чтобы он убрал этот индикатор, так что если вы нажмете e для редактирования, вы получите свой обычный редактор.

Это можно соединить с небольшим количеством formail и вашего текстового процессора (awk, sed, ...) на ваш выбор.

Установите $editor Mutt для вызова этого скрипта вместо vim .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .