LINUX.ORG.RU
ФорумAdmin

web hosting + postfix + dkim


0

1

Добрый день! Задача стара как мир и инфы немеряно. Подскажите куда копать.
Суть:
Есть сервер под апачем. 1 внешний IP. На сервере 4 сайта.
Сайты отправляют письма. Принемать почт почтовый этот сервер свои письма не должен.
Подскажите, как корретно настроить postfix дабы он коректно отрабатывал доменные имена. Пример:
[code]
12:54:03 e-web-srv postfix/postfix-script[26153]: starting the Postfix mail system
12:54:03 e-web-srv postfix/master[26154]: daemon started — version 2.7.7, configuration /etc/postfix
12:54:45 e-web-srv sendmail[26253]: s0U8sjCP026253: Authentication-Warning: localhost.localdomain: apache set sender to test@mysite.com using -f
12:54:45 e-web-srv sendmail[26253]: s0U8sjCP026253: from=test@mysite.com, size=1025, class=0, nrcpts=1, msgid=<201401300854.s0U8sjCP026253@localhost.localdomain>, relay=apache@localhost
12:54:46 e-web-srv postfix/smtpd[26254]: connect from e-web-srv[127.0.0.1]
12:54:46 e-web-srv postfix/smtpd[26254]: 0A44142472: client=e-web-srv[127.0.0.1]
12:54:46 e-web-srv postfix/cleanup[26257]: 0A44142472: message-id=<201401300854.s0U8sjCP026253@localhost.localdomain>
12:54:46 e-web-srv sendmail[26253]: s0U8sjCP026253: to=org@mysite.com, ctladdr=test@mysite.com (48/48), delay=00:00:01, xdelay=00:00:00, mailer=relay, pri=31025, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Ok: queued as 0A44142472)
12:54:46 e-web-srv postfix/qmgr[26156]: 0A44142472: from=<test@mysite.com>, size=1532, nrcpt=1 (queue active)
12:54:46 e-web-srv postfix/smtpd[26254]: disconnect from e-web-srv[127.0.0.1]
12:54:49 e-web-srv postfix/smtp[26258]: 0A44142472: to=<org@mysite.com>, relay=mysite.com.S10A1.PSMTP.COM[74.125.244.10]:25, delay=3.6, delays=0.22/0.01/0.7/2.7, dsn=2.0.0, status=sent (250 Thanks)
12:54:49 e-web-srv postfix/qmgr[26156]: 0A44142472: removed
[/code]

Прежде всего хотелось бы избавиться от этого:
Authentication-Warning: localhost.localdomain: apache set sender to test@mysite.com using -f
Сейчас для корректного адреса отправителя используется костыль вида php_admin_value sendmail_path «/usr/sbin/sendmail -t -i -f.....
Как сообщить postfix чтобы он без -f понял с какго доме отправляется почта? И самое главное.

dkim подключенный так:
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

пытается искать ключи по localhost.localdomain, а не по подставленному через -f домену. Как лечить?



Последнее исправление: gich (всего исправлений: 1)

Как сообщить postfix чтобы он без -f понял с какго доме отправляется почта?

«домены» это в твоем случае виртуальные хосты в апаче.
когда из пхп-скрипта вызывается sendmail, он о виртуалхосте в апаче ничего не знает. поэтому sendmail-у (ну или постфиксу) нужно указывать, от кого данная почта отправляется.

dkim

если у тебя много виртуалхостов, то логично делать dkim-подпись отправляемой почты из кода, например с помощью этого
https://code.google.com/p/php-mail-domain-signer/

Komintern ★★★★★
()

Сейчас для корректного адреса отправителя используется костыль вида php_admin_value sendmail_path «/usr/sbin/sendmail -t -i -f.....

Как сообщить postfix чтобы он без -f понял с какго доме отправляется почта?

Не понятно, что именно вам нужно, чтобы postfix сам угадал с какого адреса идёт письмо или вам не нравится устанавливать php_admin_value? Во втором случае у php функции mail() есть дополнительный параметр, который и позволяет задать отправителя (но через опцию -f у команды sendmail).

mky ★★★★★
()
Ответ на: комментарий от Komintern

В общем я забил на dkim-milter.
Оставил opendkim.
Оставляю php_admin_value sendmail_path «/usr/sbin/sendmail -t -i -f....
Пусть передаётся, постфикс всё видит, как надо.
Вот вроде бы и счастье.
Но возник другой вопрос:
mail(«nobody@example.com», «Тема»,«Блаблабла»,
«From: nobody@ass.com», "-fnobody@ddddddd.com");
dkim пытается подписывать nobody@ass.com а не nobody@ddddddd.com
Как бы это пофиксить?

gich
() автор топика
Ответ на: комментарий от gich

Поясню.
Пользователь через форму отправляет сообщение.
Подписывается в данном случае e-mail который отправляет пользователь, но не e-mail указанный в -f

gich
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.