EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Wombat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2007-09-14 18:16:44
Непрочитанное сообщение
Wombat » 2007-10-22 12:51:29
Exim. Для аутентификации при отправке используется полный имейл-адрес и пароль.
В результате письма приходят с заголовком:
Return-Path: <
username@example.com@server.fqdn.com>
А надо чтобы было
Return-Path: <
username@example.com>
ACL:
Код: Выделить всё
accept authenticated = *
control = submission/sender_retain/domain=
require verify = sender
# obtain local user ID
set acl_m10 = ${lookup mysql{MYSQL_LOOKUP_USER_ID}{$value}{0}}
accept domains = +local_domains
endpass
verify = recipient
condition = ${if >{$acl_m10}{0}{true}{false}}
Роутеры:
Код: Выделить всё
router_dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
router_local:
driver = accept
condition = ${lookup mysql{ \
SELECT DISTINCT CONCAT(u.user_name,'@',d.domain_name) AS email \
FROM users u INNER JOIN domains d ON u.domain_id=d.domain_id \
WHERE u.user_name='${quote_mysql:$local_part}' AND d.domain_name='${quote_mysql:$domain}' AND u.is_smtp_enabled=1 \
}{true}{false}}
transport = local_delivery
no_more
В результате lookup_mysql возвращается полный имейл с доменом.
Транспорты:
Код: Выделить всё
remote_smtp:
driver = smtp
local_delivery:
driver = appendfile
directory = /var/mail/${domain}/${local_part}/
maildir_format
delivery_date_add
envelope_to_add
return_path_add
user = mail
group = mail
mode = 0660
Wombat
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Wombat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2007-09-14 18:16:44
Непрочитанное сообщение
Wombat » 2007-10-22 13:06:41
Проблема такого return-path в том, что он не работает.
Код: Выделить всё
2007-10-22 04:24:36 1IjtUz-0007ZE-4s <= "username@example.com"@server.fqdn.com H=([192.168.1.5]) [82.144.212.76] I=[74.86.78.10]:25 P=esmtpa A=auth_cram_md5:username@example.com S=2483604 id=471C6BF5.7030308@stranslation.com from <username@example.com> for example@gmail.com
2007-10-22 04:24:40 1IjtUz-0007ZE-4s ** example@gmail.com R=router_dnslookup T=remote_smtp: SMTP error from remote mail server after end of data: host gmail-smtp-in.l.google.com [72.14.247.27]: 552 5.7.0 Illegal Attachment 18si11189839agb
2007-10-22 04:24:40 1IjtWa-0007b5-OI <= <> R=1IjtUz-0007ZE-4s U=mail P=local S=108474 from <> for "username@example.com"@server.fqdn.com
2007-10-22 04:24:40 1IjtUz-0007ZE-4s Completed
2007-10-22 04:24:40 1IjtWa-0007b5-OI ** username@example.com@server.fqdn.com <"username@example.com"@server.fqdn.com>: Unrouteable address
2007-10-22 04:24:40 1IjtWa-0007b5-OI Frozen (delivery error message)
Wombat
-
Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-10-22 13:07:43
где-то в середине конфига (который ты не показал) надо отключить контрол = субмиссион.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Wombat
- рядовой
- Сообщения: 13
- Зарегистрирован: 2007-09-14 18:16:44
Непрочитанное сообщение
Wombat » 2007-10-22 15:08:14
Оказалось, проблема не в submission.
Вот мой authenticators, который я написал бездумно, скопипейстив с какого-то источника:
Код: Выделить всё
begin authenticators
auth_login:
driver = plaintext
public_name = LOGIN
server_prompts = Username:: : Password::
server_condition = ${if eq{$2}{${lookup mysql{ \
SELECT DISTINCT user_password FROM users u INNER JOIN domains d ON u.domain_id=d.domain_id \
WHERE CONCAT(u.user_name, '@', d.domain_name)='${quote_mysql:$1}' AND d.domain_is_enabled=1 \
}}}{yes}{no}}
server_set_id = $1
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT u.user_password FROM users u \
INNER JOIN domains d ON u.domain_id=d.domain_id \
WHERE CONCAT(u.user_name, '@', d.domain_name) = '${quote_mysql:$1}' AND d.domain_is_enabled=1 \
}{$value}fail}
server_set_id = $1
Поубирал server_set_id = $1 и все заработало нормально.
Wombat