Как я могу GPG шифровать только для одного конкретного получателя в mutt?

Я пытаюсь настроить отправку, чтобы шифрование gpg было включено, когда я отправляю конкретному получателю, но если он также отправляется другим получателям, тогда шифрование отключается. Тем не менее, как правило, отправители сообщений срабатывают, когда конкретный получатель находится где угодно в списке получателей, независимо от того, кто еще присутствует.

В идеале, я бы зашифровал, если он отправится на foo@bar.com , но не будет, если отправится на foo@bar.com, not@this.com, or@whatever.com . В руководстве mutt говорится:

Когда происходит несколько совпадений, команды [send-hook] выполняются в том порядке, в котором они указаны в muttrc.

Следовательно, я поставил следующее в моем muttrc. Если почта отправлена ​​на foo@bar.com , включите автозаписывание. Однако, если есть получатель, который не является foo@bar.com , то отключите автозашивание.

 send-hook . unset crypt_autoencrypt send-hook "!~l ~t ^foo@bar\\.com$" "set crypt_autoencrypt" send-hook "!~l !~t ^foo@bar\\.com$" "unset crypt_autoencrypt" 

Однако, похоже, это не работает. Кажется, что перехватчики не кажутся разобрать каждого отдельного получателя отдельно. Даже если я foo@bar.com, not@this.com почту на foo@bar.com, not@this.com , mutt пытается ее зашифровать.

Временное решение

Я могу обойти это с очень уродливым взломом.

 send-hook . unset crypt_autoencrypt send-hook "!~l ~t ^foo@bar\\.com$" "set crypt_autoencrypt" send-hook "!~l ~t [^r]\\.com$" "unset crypt_autoencrypt" 

Если я отправлю электронное письмо на адрес .com предшествующим символом не r , тогда он не будет шифроваться. Очевидно, есть много адресов …r.com , которые не являются foo@bar.com , поэтому я должен продлить третью строку следующим образом.

 send-hook "!~l ~t '([^r]\\.com|[^a]r\\.com)$" "unset crypt_autoencrypt" 

Это также исключает …r.com адреса с символом, предшествующим тоже. Я просто повторяю эту последовательность еще несколько раз.

Основная проблема состоит в том , что посыл крючки , кажется, не стрелять по куб.сму: адрес, что делает вся эта третья линия спорна , если электронная почта куб.см: Эда not@this.com .

One Solution collect form web for “Как я могу GPG шифровать только для одного конкретного получателя в mutt?”

В muttrc используйте

 set crypt_opportunistic_encrypt = yes 

От $ man 5 muttrc

 crypt_opportunistic_encrypt Type: boolean Default: no Setting this variable will cause Mutt to automatically enable and disable encryption, based on whether all message recipient keys can be located by mutt. When this option is enabled, mutt will determine the encryption setting each time the TO, CC, and BCC lists are edited. If $edit_headers is set, mutt will also do so each time the message is edited. While this is set, encryption settings can't be manually changed. The pgp or smime menus provide an option to disable the option for a particular message. If $crypt_autoencrypt or $crypt_replyencrypt enable encryption for a message, this option will be disabled for the message. It can be manually re-enabled in the pgp or smime menus. (Crypto only) 

Это также проверяет адреса cc: ed на достоверность. К сожалению, согласно второму последнему абзацу, это переопределяет множество полезных настроек. Например, я set pgp_autoinline = yes , который устарел, но необходим для отправки более старым клиентам 1 , которые не поддерживают PGP / MIME.

1 Например, Android K-9 + APG. AFAIK – это единственный почтовый клиент FOSS для Android, который читает PGP-зашифрованную электронную почту вообще, но только ограниченным образом. (EDIT: K-9 + openkeychain теперь поддерживает PGP / MIME.)

  • Поддерживает ли mutt сохранение в mbox?
  • Какой .muttrc работает на Red Hat 5.11?
  • mutt: выберите верхнее сообщение при запуске
  • выделите текущий поток в mutt, но не в режиме потока
  • Показать идентификационный номер сообщения для письма
  • Mutt показывает скремблированные символы в белом пространстве после смены папки
  • Показать текущий адрес электронной почты в строке состояния Mutt
  • mutt sidebar: развернуть / свернуть папки
  • mutt: имя, закодированное в кодировке с кодовым названием
  • Как удалить сообщения, заданные диапазоном номеров?
  • Отсоединение в Mutt
  • Linux и Unix - лучшая ОС в мире.