5

私は、msmtp と併用gpg2awkて 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

4

2 に答える 2