exim - Тире в названии ящика

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
lucas12
рядовой
Сообщения: 19
Зарегистрирован: 2007-01-30 19:54:46
Контактная информация:

exim - Тире в названии ящика

Непрочитанное сообщение lucas12 » 2007-02-15 18:05:36

Чёрт.. Щас переносил ящики и наступил на грабли. Экзим почемуто не хочет создавать ящики с тире...как это обойти?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.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/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-02-15 19:21:22

в логах что
Убей их всех! Бог потом рассортирует...

lucas12
рядовой
Сообщения: 19
Зарегистрирован: 2007-01-30 19:54:46
Контактная информация:

Непрочитанное сообщение lucas12 » 2007-02-15 19:29:03

Unroutateble address

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-02-15 19:41:05

а при чём тут дефис? :))
без дефиса на ящик в том же домене он нормально шлёт?
========
унроутабле адрес - это когда не знает куда слать...
Убей их всех! Бог потом рассортирует...

lucas12
рядовой
Сообщения: 19
Зарегистрирован: 2007-01-30 19:54:46
Контактная информация:

Непрочитанное сообщение lucas12 » 2007-02-16 9:05:41

Угу
если ящик имеет имя vasya-pupkin@domen.ru то не шлёт....с подчёркиванием шлёт...с точкой в имени шлёт...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35439
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-02-16 9:28:49

у меня 95% юзеров с дефисами...
стандартизация типа - s-petrov
и всё пучком... ищи грабли в конфиге
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Abigor
старшина
Сообщения: 425
Зарегистрирован: 2006-03-02 11:13:15
Откуда: РФ. г. Иркутск
Контактная информация:

Непрочитанное сообщение Abigor » 2007-02-16 9:38:01

у меня вообще все юзвери ivanos-is@doamin.ru и все путем

lucas12
рядовой
Сообщения: 19
Зарегистрирован: 2007-01-30 19:54:46
Контактная информация:

Непрочитанное сообщение lucas12 » 2007-02-16 9:51:54

local_part_suffix = -*
Это что за параметр?

lucas12
рядовой
Сообщения: 19
Зарегистрирован: 2007-01-30 19:54:46
Контактная информация:

Непрочитанное сообщение lucas12 » 2007-02-16 10:00:32

мой конфиг

disable_ipv6
MY_IP = 192.168.1.10
VIRTUAL_DOMAINS = SELECT DISTINCT domain FROM domains WHERE type = 'local' AND enabled = '1' AND domain = '${quote_mysql:$domain}'
RELAY_DOMAINS = SELECT DISTINCT domain FROM domains WHERE type = 'relay' AND domain = '${quote_mysql:$domain}'
ALIAS_DOMAINS = SELECT DISTINCT alias FROM domainalias WHERE alias = '${quote_mysql:$domain}'

domainlist local_domains = @ : xmail.vostok.ru : ${lookup mysql{VIRTUAL_DOMAINS}} : ${lookup mysql{ALIAS_DOMAINS}}
domainlist relay_to_domains = ${lookup mysql{RELAY_DOMAINS}}
hostlist relay_from_hosts = localhost : 192.168.0.0/16 : MY_IP : (внешние адреса)
trusted_users = _exim :_exim
hide mysql_servers = localhost::(/var/run/mysql/mysql.sock)/база/логин/пароль
auth_advertise_hosts = *
daemon_smtp_ports = 25 : 465
tls_on_connect_ports = 465
tls_advertise_hosts = *
tls_certificate = /etc/ssl/mail.pem
tls_privatekey = /etc/ssl/mail.pem

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_content
acl_smtp_helo = acl_check_helo

av_scanner = clamd:/tmp/clamd.sock
spamd_address = 127.0.0.1 783
exim_user = _exim
exim_group = _exim
never_users = root

host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 12h
timeout_frozen_after = 1d
retry_interval_max =12h
log_selector = +subject
smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"
helo_allow_chars = _
return_size_limit = 200k
remote_max_parallel = 40
smtp_accept_max_per_host = 1000
smtp_accept_max = 500
smtp_enforce_sync = true
log_file_path = /var/spool/exim/logs/exim-%s-%D.log
errors_reply_to = admin@mydomen.ru
accept_8bitmime = true
begin acl
.include /etc/exim/vexim-acl-check-spf.conf
acl_check_helo:
.include /etc/exim/vexim-acl-check-helo.conf
acl_check_rcpt:

accept hosts = :

.include /etc/exim/vexim-acl-check-rcpt.conf



deny local_parts = ^.*[@%!/|] : ^\\.
accept local_parts = postmaster
domains = +local_domains

accept domains = +local_domains
endpass
verify = recipient

accept domains = +relay_to_domains
endpass
verify = recipient

accept hosts = +relay_from_hosts
accept authenticated = *
deny message = relay not permitted
acl_check_content:
.include /etc/exim/vexim-acl-check-content.conf

accept
begin routers


dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more




ditch_maxmsgsize:
driver = redirect
allow_fail
condition = ${if >{$message_size}{${lookup mysql{select users.maxmsgsize from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.maxmsgsize > 0 \
and users.domain_id=domains.domain_id }{${value}K}fail}} {yes}{no}}
data = :fail:\n\Your message is too big.\n \
Your message was rejected because the user $local_part@$domain\n \
does not accept messages larger than \
${lookup mysql{select users.maxmsgsize from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.maxmsgsize > 0 \
and users.domain_id=domains.domain_id}{${value}K}fail} Kb.
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part

ditch_malware:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if and { {match {$h_X-ACL-Warn:}{.*malware.*}} \
{eq {${lookup mysql{select users.on_avscan from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.on_avscan = '1' \
and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }



ditch_spam:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if >{$spam_score_int}{${lookup mysql{select users.sa_refuse * 10 from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.on_spamassassin = '1' \
and users.domain_id=domains.domain_id \
and users.sa_refuse > 0 }{$value}fail}} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part

ditch_hdrmailer:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains \
where blocklists.blockhdr = 'x-mailer' \
and blocklists.blockval = '${quote_mysql:$h_x-mailer:}' \
and users.localpart = '${quote_mysql:$local_part}' \
and domains.domain = '${quote_mysql:$domain}' \
and domains.domain_id=blocklists.domain_id \
and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part

ditch_hdrto:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains \
where blocklists.blockhdr = 'to' \
and blocklists.blockval = '${quote_mysql:$h_to:}' \
and users.localpart = '${quote_mysql:$local_part}' \
and domains.domain = '${quote_mysql:$domain}' \
and domains.domain_id=blocklists.domain_id \
and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part

ditch_hdrfrom:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains \
where blocklists.blockhdr = 'from' \
and blocklists.blockval = '${quote_mysql:$h_from:}' \
and users.localpart = '${quote_mysql:$local_part}' \
and domains.domain = '${quote_mysql:$domain}' \
and domains.domain_id=blocklists.domain_id \
and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part

ditch_hdrsubject:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains \
where blocklists.blockhdr = 'subject' \
and blocklists.blockval = '${quote_mysql:$h_subject:}' \
and users.localpart = '${quote_mysql:$local_part}' \
and domains.domain = '${quote_mysql:$domain}' \
and domains.domain_id=blocklists.domain_id \
and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
virtual_vacation:
driver = accept
condition = ${if and { {!match {$h_precedence:}{(?i)junk|bulk|list}} \
{eq {${lookup mysql{select users.on_vacation from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.on_vacation = '1' \
and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }
no_verify
no_expn
unseen
transport = virtual_vacation_delivery

virtual_forward:
driver = redirect
check_ancestor
unseen = ${if eq {${lookup mysql{select unseen from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.on_forward = '1' \
and users.domain_id=domains.domain_id}}}{1} {yes}{no}}
data = ${lookup mysql{select forward from users,domains \
where localpart='${quote_mysql:$local_part}' \
and domain='${quote_mysql:$domain}' \
and users.domain_id=domains.domain_id \
and on_forward = '1'}}
condition = ${if and { {!match {$h_precedence:}{(?i)junk}} \
{eq {${lookup mysql{select users.on_forward from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.on_forward = '1' \
and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }

virtual_domains:
driver = redirect
allow_fail
data = ${lookup mysql{select smtp from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and domains.enabled = '1' \
and users.enabled = '1' \
and users.domain_id = domains.domain_id}}
headers_add = ${if >{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.on_spamassassin = '1' \
and users.domain_id=domains.domain_id }{$value}fail}} {X-Spam-Flag: YES\n}{} }
headers_remove = ${if or { { <{$spam_score_int}{1} } \
{ <{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.on_spamassassin = 1 \
and users.domain_id=domains.domain_id}{$value}fail}} } \
{ eq {0}{${lookup mysql{select users.sa_tag * 10 from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.on_spamassassin = 0 \
and users.domain_id=domains.domain_id}{$value}fail}}} \
} {X-Spam-Score:X-Spam-Report} }

local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
file_transport = virtual_delivery
reply_transport = address_reply
pipe_transport = address_pipe

.include /etc/exim/vexim-group-router.conf

virtual_domains_catchall:
driver = redirect
allow_fail
data = ${lookup mysql{select smtp from users,domains where localpart = '*' \
and domain = '${quote_mysql:$domain}' \
and users.domain_id = domains.domain_id}}
retry_use_local_part
file_transport = virtual_delivery
reply_transport = address_reply
pipe_transport = address_pipe_catchall

virtual_domain_alias:
driver = redirect
allow_fail
data = ${lookup mysql{select concat('${quote_mysql:$local_part}@', domain) \
from domains,domainalias where domainalias.alias = '${quote_mysql:$domain}' \
and domainalias.domain_id = domains.domain_id}}
retry_use_local_part



system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
user = _exim
group = _exim
file_transport = address_file
pipe_transport = address_pipe






userforward:
driver = redirect
check_local_user
file = $home/.forward
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe_local
reply_transport = address_reply
condition = ${if exists{$home/.forward} {yes} {no} }
group = _exim

exchangeroute:
driver = manualroute
domains = mydomen.ru
transport = remote_smtp
route_data = 192.168.1.1
no_more









begin transports



remote_smtp:
driver = smtp


local_delivery:
driver = appendfile
file = /var/spool/exim/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = _exim
user = $local_part
mode = 0660
no_mode_fail_narrower

virtual_delivery:
driver = appendfile
envelope_to_add
return_path_add
mode = 0600
maildir_format = true
create_directory = true
directory = ${lookup mysql{select smtp from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.domain_id = domains.domain_id}}
user = ${lookup mysql{select users.uid from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.domain_id = domains.domain_id}}
group = ${lookup mysql{select users.gid from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.domain_id = domains.domain_id}}
quota = ${lookup mysql{select users.quota from users,domains \
where localpart = '${quote_mysql:$local_part}' \
and domain = '${quote_mysql:$domain}' \
and users.domain_id = domains.domain_id}{${value}M}}
quota_is_inclusive = false
quota_warn_threshold = 75%
maildir_use_size_file = false
quota_warn_message = "To: $local_part@$domain\n\
Subject: Mailbox quota warning\n\n\
This message was automatically generated by the mail delivery software.\n\n\
You are now using over 75% of your allocated mail storage quota.\n\n\
If your mailbox fills completely, further incoming messages will be automatically\n\
returned to their senders.\n\n\
Please take note of this and remove unwanted mail from your mailbox.\n"

virtual_vacation_delivery:
driver = autoreply
from = "${local_part}@${domain}"
to = ${sender_address}
subject = "Autoreply from ${local_part}@${domain}"
text = ${lookup mysql{select vacation from users,domains \
where domain='${quote_mysql:$domain}' \
and localpart='${quote_mysql:$local_part}' \
and users.domain_id=domains.domain_id}}



address_pipe:
driver = pipe
return_output
user = ${lookup mysql{select users.uid from users,domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and users.dom
ain_id = domains.domain_id}}
group = ${lookup mysql{select users.gid from users,domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and users.do
main_id = domains.domain_id}}

address_pipe_catchall:
driver = pipe
return_output
user = ${lookup mysql{select users.uid from users,domains where localpart = '*' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_i
d}}
group = ${lookup mysql{select users.gid from users,domains where localpart = '*' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_
id}}

address_pipe_local:
driver = pipe
return_output



address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add



address_reply:
driver = autoreply



begin retry


* * F,2h,15m; G,16h,1h,1.5; F,7d,6h





begin rewrite





begin authenticators

plain_login:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT '1' FROM users \
WHERE username = '${quote_mysql:$2}' \
AND clear = '${quote_mysql:$3}'} {yes}{no}}
server_set_id = $2

fixed_login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{SELECT '1' FROM users \
WHERE username = '${quote_mysql:$1}' \
AND clear = '${quote_mysql:$2}'} {yes}{no}}
server_set_id = $1

fixed_cram:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT clear FROM users \
WHERE username = '${quote_mysql:$1}'}{$value}fail}
server_set_id = $1

lucas12
рядовой
Сообщения: 19
Зарегистрирован: 2007-01-30 19:54:46
Контактная информация:

Непрочитанное сообщение lucas12 » 2007-02-16 10:08:39

перевод мануала по этому параметру не дал толкого объяснения что это такое...вобщем я закоментил и вроде запахало...

Аватара пользователя
f0s
ст. лейтенант
Сообщения: 1082
Зарегистрирован: 2007-03-13 18:43:31
Откуда: Санкт-Петербург
Контактная информация:

exim - Тире в названии ящика

Непрочитанное сообщение f0s » 2015-04-17 8:47:23

хех.. та же проблема. на адреса с "-", выдает ubknown user, если с точкой или подчеркиванием, то все ок )
причем отправка норм идет, папки на сервере тож создает... а в логах:

Код: Выделить всё

2015-04-17 09:43:51 1Yiz4A-0007uP-RK <= e.rt@vvv.ru. H=mail.vvv.ru (MSKBCONBK041) [44.55.143.124] I=[10.1.114.139]:25 P=esmtpa A=auth_login:e.rt@vvv.ru S=13968 id=01c701d078d1$7b869560$7293c020$@vvv.ru from <e.rt@vvv.ru> for m-sv@vvv.ru
2015-04-17 09:43:51 1Yiz4A-0007uP-RK ** m-sv@vvv.ru: Unknown user
named, named, what is my TTL value?..

[FidoNet 2:550/2 && 2:5030/4441]

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

exim - Тире в названии ящика

Непрочитанное сообщение skeletor » 2015-04-17 17:39:26

Закомментируйте строки

Код: Выделить всё

####  local_part_suffix = -*
####  local_part_suffix_optional