Я использую gpg2
и awk
вместе с msmtp для отправки электронных писем в сообщениях электронной почты. Это соответствующая часть моего .msmtprc
файла
account gmail
host smtp.gmail.com
from myusername@gmail.com
auth on
port 465
user myusername@gmail.com
passwordeval gpg2 -q --for-your-eyes-only --no-tty -d ~/.authinfo.gpg | awk '/machine smtp.gmail.com login myusername@gmail.com/ {print $NF}'
, и так выглядит мой файл .authinfo.gpg
machine smtp.gmail.com login myusername@gmail.com port 465 password myverysecretpassword
machine imap.gmail.com login myusername@gmail.com port 993 password myverysecretpassword
По какой-то причине команда в приведенном выше passwordeval Поле работает нормально в терминале, т.е. выводит пароль, но когда я запускаю его с помощью msmtp
echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" |msmtp --debug --from=default -t myusername@gmail.com
awk возвращает ошибку разрешения.
loaded user configuration file /home/myusername/.msmtprc
falling back to default account
sh: 1: awk: Permission denied
msmtp: cannot read output of 'gpg2 -q --for-your-eyes-only --no-tty -d ~/.authinfo.gpg | awk '/machine smtp.gmail.com login myusername@gmail.com/ {print $NF}''
Я полностью нахожусь в потеря того, что здесь может быть не так. Эта проблема появилась после обновления ОС. Я также запустил chmod 600 для файла .msmtpr c. Любая помощь приветствуется.
Другая информация
- Я пытался временно использовать простой пароль, и он работает
- У меня пытался временно предоставить разрешения 777 для .msmtpr c, и это не сработало
- Я пытался переустановить
msmtp
, и это не сработало - Я пытался используйте
sed
вместо awk
, и я получаю идентичную ошибку разрешения (для sed). - Этот другой пост может быть связан? Это вроде как предполагает, что владелец .msmtpr c может иметь значение. В моем случае я являюсь владельцем файла.
Используемые версии
GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.2.0) Авторские права (C) 1989, 1991-2019 Free Software Foundation.
gpg (GnuPG) 2.2.19 libgcrypt 1.8.5 Авторские права (C) 2019 Free Software Foundation, In c.
msmtp версии 1.8.6 Платформа: x86_64-p c - linux -gnu Библиотека TLS / SSL: GnuTLS