In the last Gazette I wrote an article called Setting Up Mail for a Home Network Using Exim. In this I described a method to use the Mail Transport Agent (exim in this case) to set the proper From: address on outgoing messages.
This works fine, unless the Mail User Agent (the actual e-mail program for composing messages) messes things up. Unfortunately, pine 3.96 (which I use) is not free of problems in this regard.
If you type a message in pine and postpone it (store it for later editing before sending it) pine will add a Reply-To: header when the message is resumed later. So, such a postponed/resumed message sent by Joe Bloggs will be sent out with the following headers:
From: Joe Bloggs <email@example.com>
Reply-To: Joe Bloggs <joe@home>
This will occur only with messages which are first postponed, and then resumed and sent! Messages which are composed and sent in one go will only have the From: address, not the Reply-To: address. The problem is, if the recipient replies to your message, Reply-To: has priority over From:. So the reply will go to the home domain (which does not exist), instead of to the proper isp.com domain.
This bug (which is flagged in the pine 3.96 source code as an unrepaired bug) has been corrected in some later versions of pine (at least in pine 4.10). But pine 3.96 still has it. To check if your pine has the bug, write, postpone, resume, and postpone again a test message. Then check the file ~/mail/postponed-msgs, to see if a Reply-To: header is present (and then kill the message).
If you have the problem, apart from using a different MUA than pine, the easiest solution is to change /etc/exim.conf so as to remove any Reply-To: headers in outgoing mail. This can be done by changing the line (mentioned in my previous article)
headers_remove = "sender"
headers_remove = "sender:reply-to"
This is at least a temporary solution. Best is to upgrade to pine 4.10
(but I myself will wait until a Debian package for pine 4.10 has become