EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
	Модератор: xM
	
		
					Правила форума
			Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
		
		
	 
	
			
		
		
		
			- 
				
																			 moreh
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
						
						
													
							
						
									
						Непрочитанное сообщение
					
								 moreh » 2010-06-08 10:18:06
			
			
			
			
			нашёл тут на форуме кое какой пример исправил его под себя вот что получилось
Код: Выделить всё
lodagw# cat /usr/local/etc/exim/redirect_mail
logfile /var/log/exim/filter
if $recipients does not match "@local.domain" #копируем все исходящие которые уходят не на локальный домен
then
unseen deliver adminc@local.domain
endif
if $sender_address does not match "@local.domain" #копируем все внешние входящие
then
unseen deliver system@local.domain
endif
и получаеться что  все исходящие и на локальные адреса и на удалённые копируются в  
adminc@local.domain
а входящие с внешних адресов вообще не получает ни один ящик
и ещё   в лог /var/log/exim/filter ничего не пишется почему-то
в чём может быть проблема?
 
		 
				
		
		 
	 
	
	moreh
 
                	
		
			
			
				
				
			
			
				- 
					
					Хостинг 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/
				 
						
						 
		 
	 
	 
	
		
	
		
		
		
			- 
				
								Alex Keda							
- стреляли...
- Сообщения: 35476
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- 
				Контактная информация:
				
			
						
						
													
							
						
									
						Непрочитанное сообщение
					
								 Alex Keda » 2010-06-08 10:22:26
			
			
			
			
			
почитайте чё в ней содержится и в какие моменты времени
Убей их всех! Бог потом рассортирует...
						 
		 
				
		
		 
	 
	
	Alex Keda
 
                	
	
		
		
		
			- 
				
																			 moreh
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
						
						
													
							
						
									
						Непрочитанное сообщение
					
								 moreh » 2010-06-08 10:33:09
			
			
			
			
			 Переменная раскрытия “$recipients”, содержащая список всех получателей сообщения (разделённых запятыми и пробелами), - доступна в системных фильтрах. Из соображений безопасности, она не доступна в пользовательских фильтрах.
ну всё правильно в ней должен быть адрес получателя, или не так что ли?
 
		 
				
		
		 
	 
	
	moreh
 
                	
	
		
		
		
			- 
				
																			 moreh
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
						
						
													
							
						
									
						Непрочитанное сообщение
					
								 moreh » 2010-06-08 15:58:05
			
			
			
			
			с этим разобрался всё гуд работает. Ещё такой вопрос, как сделать что бы  письма которые приходят на несуществующий получателей отправлялись на один специальный ящик 
error@local.domain 
это можно сделать через системный фильтр или же надо в роуринге  делать? как то через  verify recipirnts?
 
		 
				
		
		 
	 
	
	moreh
 
                	
	
		
		
		
			- 
				
								Alex Keda							
- стреляли...
- Сообщения: 35476
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- 
				Контактная информация:
				
			
						
						
													
							
						
									
						Непрочитанное сообщение
					
								 Alex Keda » 2010-06-08 16:14:11
			
			
			
			
			ну, вы как-то проверяете существование получателей?
это же условие наоборот и изменение адреса доставки в месте где его юзаете наоборот.
			
									
									Убей их всех! Бог потом рассортирует...
						 
		 
				
		
		 
	 
	
	Alex Keda
 
                	
	
		
		
		
			- 
				
																			 moreh
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
						
						
													
							
						
									
						Непрочитанное сообщение
					
								 moreh » 2010-06-08 16:33:50
			
			
			
			
			я так полагаю проверка получателя происходит  только тут
Код: Выделить всё
  # Проверка получателя в локальных доменах.
  # Если не проходит, то проверяется следующий ACL,
  # и если непрошёл и там - deny
  accept  domains       = +local_domains
          endpass
          message       = "No such user on my mailserver!"
          verify        = recipient
  # Проверяем получателя в релейных доменах
  # Опять-таки если не проходит -> следующий ACL,
  # и если непрошёл и там - deny
  accept  domains       = +relay_to_domains
          endpass
          message       = "Don't know how to relay to this address!"
          verify        = recipient
больше я ничего нигде не правил
кстати, сейчас письма которые не адресованы не существующим ящикам появляются на  ящике на который стоит вот это правило
Код: Выделить всё
if $recipients match "@local.domain"       #копируем все входящие, приходящие на адреса с локальным доменом
then
unseen deliver admink@tdlonda.ru
endif
 
		 
				
		
		 
	 
	
	moreh
 
                	
	
		
		
		
			- 
				
																			 moreh
- рядовой
- Сообщения: 24
- Зарегистрирован: 2010-06-07 13:48:50
						
						
													
							
						
									
						Непрочитанное сообщение
					
								 moreh » 2010-06-09 17:49:15
			
			
			
			
			сделал вот так 
Код: Выделить всё
nouser:
     driver      = redirect
    allow_fail
    allow_defer
    condition = ${if eq{} {${lookup mysql{SELECT goto FROM alias \
                WHERE (id='${quote_mysql:$local_part@$domain}' OR \
                       id='${quote_mysql:@$domain}') AND \
                       active='1'}}}{yes}{no}}
    data = error@local.domain
# Системные алиасы
system_aliases:
    driver = redirect
 allow_fail
    allow_defer
    data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
            `address`='${quote_mysql:$local_part@$domain}' OR \
            `address`='${quote_mysql:@$domain}'}}
# Доставка локальным юзерам в Dovecot
dovecot_user:
    driver = accept
    condition = ${lookup mysql{SELECT `goto` FROM \
    `alias` WHERE \
    `address`='${quote_mysql:$local_part@$domain}' OR \
   `address`='${quote_mysql:@$domain}'}{yes}{no}}
    transport = dovecot_delivery 
но чо то  вообще письма перестали приходить =(
вот что в логе 
Код: Выделить всё
2010-06-09 17:22:25 1OMLEf-0000Pz-55 <= server@local.domain H=(sysadmin) [192.168.0.21] I=[192.168.0.101]:25 P=esmtpa A=auth_cram_md5: S=618 id=277452925.20100609171407@local.domain from <server@local.domain> for fgdfgdf@local.domain
2010-06-09 17:22:25 1OMLEf-0000Pz-55 == fgdfgdf@local.domain R=nouser defer (-1): condition check lookup
в чём проблема тут ?
 
		 
				
		
		 
	 
	
	moreh