Это не проблема sendmail это проблема rfc :) если так можно выразиться. Короче всё происходит по правилам :)
Ниже приведён диалог с почтовым сервером. Мой ввод начинается с ">" для наглядности. Коменты - начинаются с /* и заканчиваются */
bash-3.00$ telnet mailserver 25
Trying xx.xx.xx.xx...
Connected to mailserver.
Escape character is '^]'.
220 mailserver ESMTP Sendmail 8.13.0/8.12.10; Tue, 28 Sep 2004 10:34:27 +0300 (EEST)
>helo host
250 mailserver Hello host [xx.xx.xx.xx], pleased to meet you
>mail from: temny@ukr.net
250 2.1.0 temny@ukr.net... Sender ok
>rcpt to: real_user@maildomain
/*вот именно этому пользователя свалится данное письмо. этот адрес _не_ будет отражен в заголовках письма. данная информация останется только в логах почтового сервера*/
250 2.1.5 real_user@maildomain... Recipient ok
>data
354 Enter mail, end with "." on a line by itself
>Return-Path: <temny@ukr.net>
>Date: Sun, 19 Sep 2004 00:45:13 +0300 (EEST)
>To: fake_user@maildomain
/*а вот в заголовках ставим любой другой адрес, всё-равно, существующий или нет. именно "To: fake_user@maildomain" будет виден пользователю, получившему письмо (real_user), в почтовом клиенте */
>Subject: test test test bla-bla-bla
>
>test in peace
>.
250 2.0.0 i8S7YR7Q017820 Message accepted for delivery
>quit
221 2.0.0 mailserver closing connection
Connection closed by foreign host.
Собственно всё. После этого письмо окажется в ящике real_user@maildomain, а любая почтовая программа покажет, что письмо было адресовано для fake_user@maildomain (т.к. именно этот адрес указан в заголовках письма)
>Подскажите плз способ борьбы с подобными бяками
Бороться с подобными бяками - действовать не по rfc.
Данная ситуация может происходить не только при получении спама. Первое, что приходит в голову - bcc (blind carbon copy или "скрытая копия").
Если я отправляю письмо
To: user1@domain1.com
Bcc: user2@domain2.com
То даже sendmail, доставляющий почту на domain2.com будет вести себя также как и в примере выше. Т.е. принимающему серверу он скажет "rctp to: user2@domain2.com", а в заголовках письма будет указан совсем другой адрес (user1@domain1.com).