mnewsはSMTPに対応しているのだけど SMTP AUTH には対応していないので、メール送信にはmsmtpを呼び出して利用しているのだが、mnewsからmsmtpをそのまま呼び出すとなぜかパスワード入力ができないという問題がある。
で、そのmsmtp向け修正パッチを作成したので公開。
msmtpは内部でパスワード入力にgetpass()を利用しているのだが、実際には内部でgnu_getpass()というのを呼び出している(#defineで置換している)。で、gnu_getpass()だとうまくパスワード入力できない。なのでlibcのgetpass()を利用するようにする。
当然ですが無保証です。自分の責任のもとで利用してください。
--- src/msmtp.c.orig 2010-02-07 20:38:01.000000000 +0900
+++ src/msmtp.c 2011-11-24 23:11:35.000000000 +0900
@@ -394,6 +394,9 @@
if (getpass_uses_tty)
{
prompt = xasprintf(_("password for %s at %s: "), user, hostname);
+#ifdef getpass
+#undef getpass
+#endif
gpw = getpass(prompt);
free(prompt);
if (gpw)
で、そのmsmtp向け修正パッチを作成したので公開。
msmtpは内部でパスワード入力にgetpass()を利用しているのだが、実際には内部でgnu_getpass()というのを呼び出している(#defineで置換している)。で、gnu_getpass()だとうまくパスワード入力できない。なのでlibcのgetpass()を利用するようにする。
当然ですが無保証です。自分の責任のもとで利用してください。
--- src/msmtp.c.orig 2010-02-07 20:38:01.000000000 +0900
+++ src/msmtp.c 2011-11-24 23:11:35.000000000 +0900
@@ -394,6 +394,9 @@
if (getpass_uses_tty)
{
prompt = xasprintf(_("password for %s at %s: "), user, hostname);
+#ifdef getpass
+#undef getpass
+#endif
gpw = getpass(prompt);
free(prompt);
if (gpw)