Здравствуйте.
Настраиваю почту на базе Exim4. Аутентификация через БД.
plain:
driver = plaintext
public_name = PLAIN
server_prompts = Username:: : Password::
server_condition = ${if crypteq{$auth3}{${lookup mysql{SELECT password FROM \
mailbox WHERE username = '${quote_mysql:$auth2}'}}}{yes}{no}}
server_set_id = $auth2
login:
driver = plaintext
public_name = LOGIN
server_condition = ${if crypteq{$auth2}{${lookup mysql{SELECT password FROM \
mailbox WHERE username = '${quote_mysql:$auth1}'}}}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $auth1
Авторизация работает все ок. Однако хочу настроить так, чтобы пользователи могли отправлять письма только от своего имени. Тоесть чтобы поле From: (и возможно Return-path:) строго соответствовали аутентифицировавшемуся пользователю. Подозреваю, что сие должно быть както прописанно в блоке acl, хотя я вот нашел такое решение.
но в моем случае, оно не помогает. Сервер пропускает любые письма с любыми заголовками при удачной авторизации.
Вот пользователь user@aaaa.com отправляет письмо на recipient@yandex.ru используя обратный адрес test2@aaaa.com
вот что получается в логах
2015-08-08 00:52:41 1ZNpZB-0007y3-DQ <= test2@aaaa.com H=localhost (mail.aaaa.com) [::1] I=[::1]:587 P=esmtpsa X=TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256 A=plain:user@aaaa.com S=1977 id=082845bf0ad8e7128f9580f4895b9f4b@nindeco.com from <test2@aaaa.com> for recipient@yandex.ru
2015-08-08 00:52:42 1ZNpZB-0007y3-DQ => recipient@yandex.ru R=dnslookup T=remote_smtp H=mx.yandex.ru [93.158.134.89] X=TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256 DN="C=RU,O=Yandex LLC,OU=ITO,L=Moscow,ST=Russian Federation,CN=mx.yandex.ru,EMAIL=pki@yandex-team.ru" C="250 2.0.0 Ok: queued on mxfront6m.mail.yandex.net as 1438984362-ZApvwYRpkR-qfUeQoFg"
2015-08-08 00:52:42 1ZNpZB-0007y3-DQ Completed
и письмо вполне успешно доходит. (отправка через smpt из roundcube).
Буду благодарен за совет.