<<< Date Index >>>     <<< Thread Index >>>

Re: Child Exited 127 Error



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tuesday, June 27 at 06:48 AM, quoth Bill:
>I ran:
>
>echo "foo" | mutt  recipient@xxxxxxx
>
>And it ran as advertised. In a few seconds my e-mail was delivered
>healthy.

HAHAHAHAHAHAHAHA.

Well, that's an interesting result, but does not provide the 
information I was aiming for (most likely, the error message was 
simply hidden by mutt).

I *know* you use mutt, because you're on the mutt mailing list, so 
"/whatever/program/you/use" was not a way of saying "insert mutt 
here". Mutt (unless you've patched it with one of the SMTP patches) 
does not send mail by itself. It pipes mail to a program that *can* 
send mail by itself. Exactly which program it uses is determined by 
the $sendmail configuration variable (see `man muttrc` and search for 
the word "sendmail" (searching in a man page depends on your pager, 
but generally the / key means search, then you type the text you're 
searching for, then you hit return)).

By default, mutt uses the command `/usr/sbin/sendmail -oem -oi` to 
send mail. What I mean by that is that mutt constructs your email in a 
file (usually something in /tmp), and then basically runs this:

    cat /tmp/constructedmailfile | $sendmail -f recipient@xxxxxxx

With the default value for the $sendmail variable (which, if it is not 
the default, will be defined either in your ~/.muttrc or your 
/etc/Muttrc), the above command translates to:

    cat /tmp/file | /usr/sbin/sendmail -oem -oi -f recipient@xxxxxxx

I was assuming that you knew what value your mutt had for the 
$sendmail variable, but that was a poor assumption. The most 
straightforward way to find out what the value of your $sendmail 
variable is, as Derek said: run mutt, then, within mutt, type the 
following:

    :set ?sendmail

Don't type that in your shell, and don't type a ! first in your mutt, 
just type that. If you get "sh: line 1: :set: command not found" that 
means that you have typed that command into your shell (i.e. you were 
not running mutt), rather than into mutt.

When that command succeeds, mutt will print the value down at the 
bottom of the screen (i.e. where you typed that command in).

Once you know that value, then you can run the send-mail-by-hand test 
I was talking about.

I'm guessing that mutt is probably using the default value 
("/usr/sbin/sendmail ..."). In order for this to really work properly, 
you need to SET UP your sendmail. This is difficult to do in a fully 
secure manner, and you probably don't want a full-blown sendmail 
server on your computer (for many reasons). Instead, I will direct you 
to use something like the msmtp program 
(http://msmtp.sourceforge.net). Install it, configure it (read its 
documentation, it's very very simple), and add a line to your 
~/.muttrc file that looks like:

    set sendmail="msmtp"

And you should be in business.

~Kyle
- -- 
You can gain reconciliation from your enemies, but you can only gain 
peace from yourself.
                                       -- Rubin "The Hurricane" Carter
-----BEGIN PGP SIGNATURE-----
Comment: Thank you for using encryption!

iD8DBQFEoTyEBkIOoMqOI14RAjL6AKCEK+Rs+3ZegPZBNw/yiBfeScjKBwCffD7B
YwKD4a05OKHkWcUsTXQHT+k=
=kiBZ
-----END PGP SIGNATURE-----