Назад | Перейти на главную страницу

nullmailer меняет местами отправителя и получателя

Я хочу отправлять электронные письма со своего сервера через внешний почтовый сервер. Итак, я установил nullmailer как один из самых простых MTA в Debian 7 x32.

Мой /etc/nullmailer/remotes:

smtp.example.com smtp --user=sender@example.com --pass=*** --port 465 --ssl

пользователь в этом случае это зарегистрированный пользователь на удаленном сервере.

Теперь я хочу отправить тестовое письмо. Замена Nullmailer на sendmail имеет несколько параметров:

использование: sendmail [флаги] [получатели]

-f Установить адрес отправителя конверта

Хорошо, поэтому я отправляю письмо с:

ls | sendmail -f sender@example.com  recipient@example.com

Но это письмо пришло на почтовый ящик sender@example.com. Один из заголовков говорит:

Кому: unisclosed-recipients :;

Насколько я понимаю, nullmailer не отправляет адрес получателя.

Хорошо, теперь я пытаюсь отправить его через php:

mail("recipient@example.com","subject","message","From: sender@example.com");

Но на самом деле ничего не прислали. В журнале написано:

smtp: Ошибка: 553 5.7.1 Адрес отправителя отклонен: не принадлежит пользователю auth. Ошибка отправки: постоянная ошибка при отправке сообщения

Хм ... странно выглядит. Если я перечисляю очередь nullmailer, я вижу

sendmail -bp

2015-03-23 14:58:26 332 bytes from <root@example.com>
  to <sender@example.com>

Я не знаю откуда это root@example.com пришел. Так что очередь сейчас заморожена. Я нашел очередь в /var/spool/nullmailer/queue/. Каждое электронное письмо сохраняется в виде файла с заголовком и телом сообщения. Файл выглядит так:

root@example.com
sender@example.com

Received: (nullmailer pid 14630 invoked by uid 0);
Mon, 23 Mar 2015 04:58:26 -0000 
To: recipient@example.com 
Subject: subject 
X-PHP-Originating-Script: 0:test.php 
From: sender@example.com Date: Mon, 23 Mar 2015 14:58:26 +1000 Message-Id: 1427086706.909885.14629.nullmailer@example.com>

message

Поэтому я изменил заголовок с

root@example.com 
sender@example.com

к

sender@example.com
recipient@example.com

И вуаля! - письмо было отправлено, как ожидалось - от sender@example.com к recipient@example.com

Итак, мой вопрос - что я сделал не так и как мне отправить электронное письмо с nullmailer обычным способом?

Рассмотрите возможность использования /etc/nullmailer/allmailfrom ответ на это, нашел Вот или Вот - способ обойти эту проблему.