私は、msmtp と併用gpg2
しawk
て emacs でメールを送信しています。これは私の.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}''
ここで何が間違っているのか、私は完全に途方に暮れています。この問題は、OS のアップグレード後に発生しました。.msmtprc ファイルでも chmod 600 を実行しました。どんな助けでも大歓迎です。
他の情報
- 一時的にプレーンパスワードを使用しようとしましたが、機能します
- 一時的に .msmtprc に 777 のアクセス許可を与えようとしましたが、うまくいきませんでした
- 再インストールを試みましたが、うまくいきませ
msmtp
んでした sed
の代わりに使用しようとしましたawk
が、同じパーミッション エラーが発生します (sed の場合)。- この他の投稿は関連している可能性がありますか?.msmtprc 所有者が関連している可能性があることを示唆しています。私の場合、私はファイルの所有者です。
使用バージョン
GNU Awk 5.0.1、API: 2.0 (GNU MPFR 4.0.2、GNU MP 6.2.0) Copyright (C) 1989, 1991-2019 Free Software Foundation.
gpg (GnuPG) 2.2.19 libgcrypt 1.8.5 Copyright (C) 2019 Free Software Foundation, Inc.
msmtp バージョン 1.8.6 プラットフォーム: x86_64-pc-linux-gnu TLS/SSL ライブラリ: GnuTLS