Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» FAQ по Exim MTA

Автор: Yakon
Дата сообщения: 03.10.2006 16:18
To G_R

Цитата:

bveb.minsk.by mail exchanger = 0 mail.bveb.minsk.by.

может лучше
IN MX 10 mail.bveb.minsk.by


Конечно лучше 10 поставить.
Но письма туда идут и при таких настройках.
Поэтому я и спросил

Цитата:
А вне локалки только на bveb.minsk.by не идёт?
Или вообще никуда наружу не идёт?

У меня такое чувство что грабли в его DNS.
Если там bind или что-то вроде того стоит, то он либо вообще не шлёт запросы наружу, либо находит ответ (описание зоны bveb.minsk.by) где-то у себя и не знает куда письма слать.
Вообщем я систему не видел, но копал бы не в сторону exim.

To Blinds

Цитата:
Не помогут ли знатоки решить такой вопрос.
Есть почтовик: FreeBSD 5.4 - Exim 4.62 - dovecot 1.0.b9
Необходимо настроить папки со своим мыл адресом, с возможностью доступа к папке нескольких пользователей в режиме просмотра/редактирования. Допустим папка "Склад" имеет свой адрес sklad@zzz.com и на него падают какие-то доки. Доступ к папке имеют вася@zzz.com, петя@zzz.com, коля@zzz.com. Вася с правами редактирования, а остальные просмотра только. Вот такая задача. Решаема ли если да то как? Буду очень благодарен если метёте в меня ссылочкой как это можно организовать или поможете мудрым советом. Если нет, то может порекомендуете выход?

У меня была подобная задача.
Я особо не заморачивался.
Создал ящик sklad@mydonain.ru и подключил его всем в режиме IMAP.
И написал приказ. Кто ценное письмо удалит и это вызовет проблемы, тому штраф - четверть зарплаты.
Всё.
На всякий случай дублирую все письма в sklad2@mydomain.ru
Если бы выяснилось, что что-то не дошло, то найти кто его удалил по логам, совсем уж детское занятие.
А копию всегда можно взять из sklad2.
Искать как сделать read-only не хотелось.
Автор: G_R
Дата сообщения: 03.10.2006 16:43
из локалки письма ваще никуда не идут.

мне нужно что бы почтавик из моей локалке мог по сетке передавать письма на почтавик вышечтоящей организации.
где чего настраивать я не пойму

Добавлено:
еще вопрос: кто настраивал еским по "Улучшенный вариант части 1: Exim-4.50 + MySQL [?] © ginger" ? есть пару вопросиков.
Автор: Yakon
Дата сообщения: 03.10.2006 23:27

Цитата:
из локалки письма ваще никуда не идут.


мне нужно что бы почтавик из моей локалке мог по сетке передавать письма на почтавик вышечтоящей организации.
где чего настраивать я не пойму


Цитата:
еще вопрос: кто настраивал еским по "Улучшенный вариант части 1: Exim-4.50 + MySQL [?] © ginger" ? есть пару вопросиков.

Я использовал для настройки с mysql http://www.lissyara.su/?id=1173
Мне это описание больше понравилось.
Автор: Blinds
Дата сообщения: 04.10.2006 09:57
Yakon

Цитата:
Создал ящик sklad@mydonain.ru и подключил его всем в режиме IMAP. И написал приказ. Кто ценное письмо удалит и это вызовет проблемы, тому штраф - четверть зарплаты.


Понятно. Спасибо. Не совсем то, что хочется, но тоже вариант.
Получается у пользователя два почтовых ящика - свой и общий.
Автор: Yakon
Дата сообщения: 04.10.2006 10:25

Цитата:
Получается у пользователя два почтовых ящика - свой и общий.

угу.
Посидел, подумал 2 года назад.
И решил не гемороиться.
Показалось самым простым вариантом.

Так сделал, когда была нужда получать из вне письма и просматривал и исполнял их тот сотрудник, который был на рабочем месте.

Сейчас у меня правда корпоративный сервак mdaemon, а инетовский шлюзовой на exim.
Сейчас нужна была общая папка, куда нужно выкладывать письма для общего обозрения.
Тут у каждого пользователя свой ящик + подключена общая папка в режиме IMAP.
Пришло что-то ценное или нужно, чтоб все ознакомились с исходящим письмо, скопировал туда и всё.

Решение зависит от задачи.
Нужно плыть по пути наименьшего сопративления и трудозатрат
Автор: Blinds
Дата сообщения: 04.10.2006 10:29
Yakon

Еще вопрос(я пока не освоил систему). Как настроить пересылку с конкретного ящика на резервный и дополнительно на другое мыло в филиал?
Автор: Yakon
Дата сообщения: 04.10.2006 10:37
Blinds
У меня Exim работает + mysql.
И там просто запись в соответствующую таблицу делается.
Всё зависит от того как у тебя связка сделана.

В личку послал ICQ.
Если что, с вопросами туда.
Автор: Blinds
Дата сообщения: 04.10.2006 11:02
Yakon

Спасибо. Стукнулся запросом на авторизацию
Автор: Ilya98
Дата сообщения: 04.10.2006 11:34
To All & tankistua

Еще раз повторяю вопрос:
Oct 3 11:09:45 FS-76 dovecot: Logins with login process UID 26 (user user@domen.ru) not permitted (see login_user in config file).

UID 26 от имени которого все и происходит - пользователь mail, его группа 6.
Использую mysql, где у всех прописано UID 26, GID 6

1) c 1.08 beta было все Ок
2) В dovecot.conf

login_user = mail
# Valid UID range for users, defaults to 500 and above. This is mostly
# to make sure that users can't log in as daemons or other system users.
# Note that denying root logins is hardcoded to dovecot binary and can't
# be done even if first_valid_uid is set to 0.
first_valid_uid = 26
last_valid_uid = 26

# Valid GID range for users, defaults to non-root/wheel. Users having
# non-valid GID as primary group ID aren't allowed to log in. If user
# belongs to supplementary groups with non-valid GIDs, those groups are
# not set.
first_valid_gid = 6
last_valid_gid = 6

To tankistua

Я не вижу здесь ограничений UID>100, GID>2
Автор: tankistua
Дата сообщения: 04.10.2006 17:19
Насчет 100-го соврал - с 500-го по-умолчанию довекот не дает логиниться - это не бага, это фича.
Если он с этими юидами работает в системе, это не значит что юзерам с этим юидом можно логиниться через довекот, как раз наоборот - это правильно с точки зрения безопасности.

Короче, у меня так:

first_valid_uid = 299
last_valid_uid = 301

# Valid GID range for users, defaults to non-root/wheel. Users having
# non-valid GID as primary group ID aren't allowed to log in. If user
# belongs to supplementary groups with non-valid GIDs, those groups are
# not set.
first_valid_gid = 299
last_valid_gid = 301

login_user = dovecot
mail_extra_groups = mail


# id vmail
uid=300(vmail) gid=300(vmail) groups=300(vmail)

Автор: G_R
Дата сообщения: 05.10.2006 09:37
у меня в конфиге стоит

first_valid_uid = 500

и всё работает
Автор: Ilya98
Дата сообщения: 05.10.2006 14:44
To tankistua

А как у Вас проходит авторизация пользователей к пя? Ldap, passwd...?
У меня база пользователей в MySQL...
Заводить специального, от которого и регистрируются они все?

To all

Проблема, кажется, где-то в другом месте. Почта же ходит нормально.
Такое ощущение, что появился новый(ые) способ(ы) авторизации - подключения к пя. Этот способ прописан в новом конфиге по умолчанию, а я использую старый конфиг (1.08beta).
Как это можно проверить?

Для Фрюхи появился нормальный обновляемый порт довекота 1.0.rc7. Может был и ранее, но при переходе от бета к бетте это было не интересно и по-моему не работало, да руки дошли только сейчас

С уважением, 9998877
Автор: hoochie
Дата сообщения: 05.10.2006 15:07
Уважаемые!
Заведите отдельную тему по Dovecot или по pop/imap серверам.
Здесь тема по Exim.
Автор: Ilya98
Дата сообщения: 05.10.2006 17:53
Подождем мнения ginger, а затем и заведем
Автор: tankistua
Дата сообщения: 05.10.2006 23:56

Цитата:
А как у Вас проходит авторизация пользователей к пя? Ldap, passwd...?
У меня база пользователей в MySQL...

у меня логины и пароли в текстовом фале прописаны.


Цитата:
Заводить специального, от которого и регистрируются они все?

у меня для работы с виртуальными ящиками заведен специальный пользователь.
Автор: G_R
Дата сообщения: 09.10.2006 09:38
привет всем!

кто рабоатет с "паровозом" для ексима? чего это такое? может просветите?
Автор: PPutnik
Дата сообщения: 09.10.2006 15:01
Ginger - респект, если она тут еще бывает...

Подскажите плз, не раскрываются переменные в роутере:
[more]
в начале конфига:

Код: ALLOW_SEND_HOSTS = localhost : 192.168.1.1 : 192.168.1.5
DIRECTLOCAL = sss : it : boss : chief : info
KDOMAIN = k.ru : k.com.ru
Автор: ginger
Дата сообщения: 10.10.2006 09:42
PPutnik

Цитата:

condition = ${if and{{!or{{match{$host_address}{ALLOW_SEND_HOSTS}}{!eq {$header_X-guard:}{}}}}{!and{{match{$local_part}{DIRECTLOCAL}}{match{${domain}}{KDOMAIN}}}}}{1}{0}}

В вашем случае на мой взгляд, необходимо вместо $host_address использовать $sender_host_address, а вместо ${domain} использовать $sender_host_name.
Автор: PPutnik
Дата сообщения: 10.10.2006 15:33

Цитата:
В вашем случае на мой взгляд, необходимо вместо $host_address использовать $sender_host_address, а вместо ${domain} использовать $sender_host_name.

Спасибо, но увы,подходит наполовину - $sender_host_address отработал как надо, а $domain мне нужен как домен получателя...
Попробовал $domain_data и $original_domain - c тем же результатом

Думал сделать через domains = +kdomains, но не подходит т.к. условие значительно сложнее.

Еще плз, если можно, для лучшего понимания - почему все-таки $host_address и $domain пустые? потому что в роутере? (тестировал на подключении с другого ip)

зы: что мне от этого роутера надо - может другая какая идея...
Если письмо от определенного ип, или имеет некий флаг, или на некий адрес - тогда пропускать, иначе заворачивать на определенный ящик...
Автор: ekomaster22
Дата сообщения: 20.10.2006 00:11
Приветствую всех,

Столкнулся с такой проблемой, что exim возвращает назад некоторые письма: - "This message has been rejected because it has a potentially executable attachment".

Насколько я узнал, за это отвечает acl_check_data

в моем конфиге, оно прописано как

# ACL that is used after the DATA command
check_message:
accept

и больше ничего(хотя это по идее значит: - "принимать всю почту")

вот полный конфиг
[more]
######################################################################
# SpamBlocker.exim.conf.2.0-release #
# Runtime configuration file for DirectAdmin/Exim 4.24 and above #
######### IMPORTANT ########## IMPORTANT ########## IMPORTANT ########
# WARNING! Be sure to back up your previous exim.conf file before #
# attempting to use this exim.conf file. #
# #
# Do may not use this exim.conf Exim configuration file unless you #
# make the required modifications to your Exim configuration #
# following the instructions in the README file included in this #
# distribution. #
# #
# This is version "2.0 of the SpamBlocker exim.conf file as #
# distributed by NoBaloney Internet Services for DirectAdmin based #
# servers. #
# #
# More information about NoBaloney.net may be found at: #
# http://www.nobaloney.net/ #
# #
# More information about DirectAdmin may be found at: #
# http://www.directadmin.com/ #
# #
# This Exim configuration file has been modified from the original #
# as distributed with Exim 4. The modifications have been made by: #
# #
# Jeff Lasman #
# NoBaloney Internet Services #
# 1254 So. Waterman Ave., Suite 50 #
# San Bernardino, CA 92408 #
# spamblocker@nobaloney.net #
# (909) 266-9209 #
# #
# The SpamBlocker exim.conf file has been modified from the original #
# exim.conf file as distributed with Exim 4, which includes the #
# following copyright notice: #
# #
# Copyright (C) 2002 University of Cambridge, Cambridge, UK #
# #
# Portions of the file are taken from the exim.conf file as #
# distributed with DirectAdmin (http://www.directadmin.com/), #
# #
# Copyright (C) 2003 JBMC Software, St Albert, AB, Canada #
# #
# Portions of this file are written by Jeff Lasman, of #
# NoBaloney Internet Services and are copyright as follows: #
# #
# Copyright (C) 2004-2005 NoBaloney Internet Services, #
# San Bernardino, Calif., USA #
# #
# Portions of the file are taken from the exim.conf file as #
# distributed with DirectAdmin (http://www.directadmin.com/), #
# #
# Copyright (C) 2003 JBMC Software, St Albert, AB, Canada #
# #
# Portions of this file are written by Jeff Lasman, of #
# NoBaloney Internet Services and are copyright as follows: #
# #
# Copyright (C) 2004-2005 NoBaloney Internet Services, #
# San Bernardino, Calif., USA #
# #
# The entire Exim 4 distribution, including the exim.conf file, is #
# distributed under the GNU GENERAL PUBLIC LICENSE, Version 2, #
# June 1991. If you do not have a copy of the GNU GENERAL #
# PUBLIC LICENSE you may download it, in it's entirety, from #
# the website at: #
# #
# http://www.nobaloney.net/exim/gnu-gpl-v2.txt #
# #
######################################################################
# #
# The most recent version of this SpamBlocker exim.conf file may #
# always downloaded from the website at #
# #
# http://www.nobaloney.net/exim/exim.conf.spamblocked #
# #
######### IMPORTANT ########## IMPORTANT ########## IMPORTANT ########
# #
# Whenever you change Exim's configuration file, you *must* remember #
# to HUP the Exim daemon, because it will not pick up the new #
# configuration until you do. However, any other Exim processes that #
# are started, for example, a process started by an MUA in order to #
# send a message, will see the new configuration as soon as it is in #
# place. #
# #
# You do not need to HUP the daemon for changes in auxiliary files #
# that are referenced from this file. They are read every time they #
# are used. #
# #
# It is usually a good idea to test a new configuration for #
# syntactic correctness before installing it (for example, by #
# running the command "exim -C /config/file.new -bV"). #
# #
### MODIFICATION INSTRUCTIONS ########## MODIFICATION INSTRUCTIONS ###
# #
# YOU MUST MAKE THE CHANGES TO THIS SpamBlocked exim.conf file as #
# documented in the README file. #
# #
# The README file for this version is named: #
# README.SpamBlocker.exim.conf.2.0 #
# #
######################################################################
# Specify your host's canonical name here. This should normally be the
# fully qualified "official" name of your host. If this option is not
# set, the uname() function is called to obtain the name. In many cases
# this does the right thing and you need not set anything explicitly.
# primary_hostname =
# Specify the domain you want to be added to all unqualified addresses
# here. An unqualified address is one that does not contain an "@" character
# followed by a domain. For example, "caesar@rome.ex" is a fully qualified
# address, but the string "caesar" (i.e. just a login name) is an unqualified
# email address. Unqualified addresses are accepted only from local callers by
# default. See the receiver_unqualified_{hosts,nets} options if you want
# to permit unqualified addresses from remote sources. If this option is
# not set, the primary_hostname value is used for qualification.
# qualify_domain =
# If you want unqualified recipient addresses to be qualified with a different
# domain to unqualified sender addresses, specify the recipient domain here.
# If this option is not set, the qualify_domain value is used.
# qualify_recipient =
# the next line is required to start the smtp auth script included
# in DirectAdmin
perl_startup = do '/etc/exim.pl'
# the next line is required to start the system_filter included in
# DirectAdmin to refuse potentiallly harmful payloads in
# email messages
#system_filter = /etc/system_filter.exim
# next line to allow incoming email submission port 587
# see also check_recipient second ruleset
daemon_smtp_ports = 25 : 587
# SET SOME MEANINGFUL LIMITS
# OPTIONAL MODIFICATIONS:
# These defaults work for us; you may wish to modify them
# for your environment
message_size_limit = 20M
smtp_receive_timeout = 5m
smtp_accept_max = 100
message_body_visible = 3000
print_topbitchars = true
# ALLOW UNDERSCORE IN EMAIL DOMAIN NAME
# domains shouldn't use the underscore character "_" but some
# may. Because John Postel, one of the architects of the Internet,
# said "Be liberal in what you accept and conservative in what you
# transmit, we choose to allow underscore in email domain names so we
# can receive email form domains which use the underscore character
# in their domain name.
# OPTIONAL MODIFICATIONS:
# These defaults work for us; you may wish to modify them
# for your environment
helo_allow_chars = _
# CHANGE LOGGING BEHAVIOR
# We weren't happy with the default Exim logging behavior through
# syslog; it didn't give us enough information. So we turned off
# syslog behavior and changed the logging behavior to give us what we
# felt was more helpful information. You may choose to delete or modify
# this section.
# OPTIONAL MODIFICATIONS:
# These defaults work for us; you may wish to modify them
# for your environment
log_selector = \
+delivery_size \
+sender_on_delivery \
+received_recipients \
+received_sender \
+smtp_confirmation \
+subject \
+smtp_incomplete_transaction \
-dnslist_defer \
-host_lookup_failed \
-queue_run \
-rejected_header \
-retry_defer \
-skip_delivery
syslog_duplication = false
# These options specify the Access Control Lists (ACLs) that
# are used for incoming SMTP messages - after the RCPT and DATA
# commands, respectively.
acl_smtp_rcpt = check_recipient
acl_smtp_data = check_message
# define local lists
addresslist whitelist_senders = lsearch;/etc/virtual/whitelist_senders
addresslist blacklist_senders = lsearch;/etc/virtual/blacklist_senders
domainlist blacklist_domains = lsearch;/etc/virtual/blacklist_domains
domainlist whitelist_domains = lsearch;/etc/virtual/whitelist_domains
domainlist local_domains = lsearch;/etc/virtual/domains
domainlist relay_domains = lsearch;/etc/virtual/domains : localhost
domainlist use_rbl_domains = lsearch;/etc/virtual/use_rbl_domains
hostlist auth_relay_hosts = *
hostlist bad_sender_hosts = lsearch;/etc/virtual/bad_sender_hosts
hostlist bad_sender_hosts_ip = net-lsearch;/etc/virtual/bad_sender_hosts
hostlist relay_hosts = net-lsearch;/etc/virtual/pophosts : 127.0.0.1
hostlist whitelist_hosts = lsearch;/etc/virtual/whitelist_hosts
hostlist whitelist_hosts_ip = net-lsearch;/etc/virtual/whitelist_hosts
# If you want to accept mail addressed to your host's literal IP address, for
# example, mail addressed to "user@[111.111.111.111]", then uncomment the
# following line, or supply the literal domain(s) as part of "local_domains"
# above. You also need to comment "forbid_domain_literals" below. This is not
# recommended for today's Internet.
# DO NOT ALLOW HOST LITERALS
# OPTIONAL MODIFICATIONS:
# These defaults work for us; you may wish to uncomment the line
# below and change the allow_domain_literals line below to true
# to allow domain literals in your environment
# local_domains_include_host_literals
# The following line prevents Exim from recognizing addresses of the form
# "user@[111.111.111.111]" that is, with a "domain literal" (an IP address)
# instead of a named domain. The RFCs still require this form, but it makes
# little sense to permit mail to be sent to specific hosts by their IP address
# in the modern Internet, and this ancient format has been used by those
# seeking to abuse hosts by using them for unwanted relaying. If you really
# do want to support domain literals, remove the following line, and see
# also the "domain_literal" router below.
allow_domain_literals = false
# No local deliveries will ever be run under the uids of these users (a colon-
# separated list). An attempt to do so gets changed so that it runs under the
# uid of "nobody" instead. This is a paranoic safety catch. Note the default
# setting means you cannot deliver mail addressed to root as if it were a
# normal user. This isn't usually a problem, as most sites have an alias for
# root that redirects such mail to a human administrator.
never_users = root
# DO HOST LOOKUP
# OPTIONAL MODIFICATIONS:
# The setting below causes Exim to do a reverse DNS lookup on all incoming
# IP calls, in order to get the true host name. If you feel this is too
# expensive, you can specify the networks for which a lookup is done, or
# remove the setting entirely.
host_lookup = *
# DISALLOW IDENT CALLBACKS
# OPTIONAL MODIFICATIONS:
# Exim may be set to make RFC 1413 (ident) callbacks for all incoming SMTP
# calls. You can limit the hosts to which these calls are made, and/or change
# the timeout that is used. If you set the timeout to zero, all RFC 1413 calls
# are disabled. RFC 1413 calls are cheap and can provide useful information
# for tracing problem messages, but some hosts and firewalls have problems
# with them. This can result in a timeout instead of an immediate refused
# connection, leading to delays on starting up an SMTP session. By default
# we disable callbacks for incoming SMTP calls. You may change
# rfc1413_query_timeout to 30s or some other positive number of seconds to
# enable callbacks for incoming SMTP calls.
rfc1413_hosts = *
rfc1413_query_timeout = 0s
# BOUNCE MESSAGES
# OPTIONAL MODIFICATIONS:
# When Exim can neither deliver a message nor return it to sender, it
# "freezes" the delivery error message (aka "bounce message"). There are also
# other circumstances in which messages get frozen. They will stay on the
# queue forever unless one or both of the following options is set.
# This option unfreezes bounce messages after two days, tries
# once more to deliver them, and ignores any delivery failures.
ignore_bounce_errors_after = 2d
# This option cancels (removes) frozen messages that are older than five days.
timeout_frozen_after = 5d
# TRUSTED USERS
# OPTIONAL MODIFICATIONS:
# if you must add additional trusted users, do so here; continue the
# colon-delimited list
trusted_users = mail:majordomo:apache:diradmin
# SSL/TLS cert and key
tls_certificate = /etc/exim.cert
tls_privatekey = /etc/exim.key
tls_advertise_hosts = *
#auth_over_tls_hosts = *
######################################################################
# ACLs #
######################################################################
begin acl
# ACL that is used after the RCPT command
check_recipient:
# to block certain wellknown exploits, Deny for local domains if
# local parts begin with a dot or contain @ % ! / |
deny domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
# to restrict port 587 to authenticated users only
# see also daemon_smtp_ports above
accept hosts = +auth_relay_hosts
condition = ${if eq {$interface_port}{587} {yes}{no}}
endpass
message = relay not permitted, authentication required
authenticated = *
# allow local users to send outgoing messages using slashes
# and vertical bars in their local parts.
# Block outgoing local parts that begin with a dot, slash, or vertical
# bar but allows them within the local part.
# The sequence \..\ is barred. The usage of @ % and ! is barred as
# before. The motivation is to prevent your users (or their virii)
# from mounting certain kinds of attacks on remote sites.
deny domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
# local source whitelist
# accept if the source is local SMTP (i.e. not over TCP/IP).
# Test for this by testing for an empty sending host field.
accept hosts = :
# sender domains whitelist
# accept if sender domain is in whitelist
accept sender_domains = +whitelist_domains
# sender hosts whitelist
# accept if sender host is in whitelist
accept hosts = +whitelist_hosts
accept hosts = +whitelist_hosts_ip
# envelope senders whitelist
# accept if envelope sender is in whitelist
accept senders = +whitelist_senders
# accept mail to postmaster in any local domain, regardless of source
accept local_parts = postmaster
domains = +local_domains
# accept mail to abuse in any local domain, regardless of source
accept local_parts = abuse
domains = +local_domains
# accept mail to hostmaster in any local domain, regardless of source
accept local_parts = hostmaster
domains =+local_domains
# OPTIONAL MODIFICATIONS:
# If the page you're using to notify senders of blocked email of how
# to get their address unblocked will use a web form to send you email so
# you'll know to unblock those senders, then you may leave these lines
# commented out. However, if you'll be telling your senders of blocked
# email to send an email to errors@yourdomain.com, then you should
# replace "errors" with the left side of the email address you'll be
# using, and "example.com" with the right side of the email address and
# then uncomment the second two lines, leaving the first one commented.
# Doing this will mean anyone can send email to this specific address,
# even if they're at a blocked domain, and even if your domain is using
# blocklists.
# accept mail to errors@example.com, regardless of source
# accept local_parts = errors
# domains = example.com
# deny so-called "legal" spammers"
deny message = Email blocked by LBL - to unblock see http://www.example.com/
# only for domains that do want to be tested against RBLs
domains = +use_rbl_domains
sender_domains = +blacklist_domains
# deny using hostname in bad_sender_hosts blacklist
deny message = Email blocked by BSHL - to unblock see http://www.example.com/
# only for domains that do want to be tested against RBLs
domains = +use_rbl_domains
hosts = +bad_sender_hosts
# deny using IP in bad_sender_hosts blacklist
deny message = Email blocked by BSHL - to unblock see http://www.example.com/
# only for domains that do want to be tested against RBLs
domains = +use_rbl_domains
hosts = +bad_sender_hosts_ip
# deny using email address in blacklist_senders
deny message = Email blocked by BSAL - to unblock see http://www.example.com/
domains = use_rbl_domains
deny senders = +blacklist_senders
# By default we do NOT require sender verification.
# Sender verification denies unless sender address can be verified:
# If you want to require sender verification, i.e., that the sending
# address is routable and mail can be delivered to it, then
# uncomment the next line. If you do not want to require sender
# verification, leave the line commented out
#require verify = sender
# deny using .spamhaus
deny message = Email blocked by SPAMHAUS - to unblock see http://www.example.com/
# only for domains that do want to be tested against RBLs
domains = +use_rbl_domains
dnslists = sbl.spamhaus.org
# deny using ordb
deny message = Email blocked by ORDB - to unblock see http://www.example.com/
# only for domains that do want to be tested against RBLs
domains = +use_rbl_domains
dnslists = relays.ordb.org
# deny using sorbs smtp list
deny message = Email blocked by SORBS - to unblock see http://www.example.com/
# only for domains that do want to be tested against RBLs
domains = +use_rbl_domains
dnslists = dnsbl.sorbs.net=127.0.0.5
# Next deny stuff from more "fuzzy" blacklists
# but do bypass all checking for whitelisted host names
# and for authenticated users
# deny using spamcop
deny message = Email blocked by SPAMCOP - to unblock see http://www.example.com/
hosts = !+relay_hosts
domains = +use_rbl_domains
!authenticated = *
dnslists = bl.spamcop.net
# deny using njabl
deny message = Email blocked by NJABL - to unblock see http://www.example.com/
hosts = !+relay_hosts
domains = +use_rbl_domains
!authenticated = *
dnslists = dnsbl.njabl.org
# deny using cbl
deny message = Email blocked by CBL - to unblock see http://www.example.com/
hosts = !+relay_hosts
domains = +use_rbl_domains
!authenticated = *
dnslists = cbl.abuseat.org
# deny using all other sorbs ip-based blocklist besides smtp list
deny message = Email blocked by SORBS - to unblock see http://www.example.com/
hosts = !+relay_hosts
domains = +use_rbl_domains
!authenticated = *
dnslists = dnsbl.sorbs.net!=127.0.0.6
# deny using sorbs name based list
deny message = Email blocked by SORBS - to unblock see http://www.example.com/
domains =+use_rbl_domains
# rhsbl list is name based
dnslists = rhsbl.sorbs.net/$sender_address_domain
# accept if address is in a local domain as long as recipient can be verified
accept domains = +local_domains
endpass
message = "Unknown User"
verify = recipient
# accept if address is in a domain for which we relay as long as recipient
# can be verified
accept domains = +relay_domains
endpass
verify=recipient
# accept if message comes for a host for which we are an outgoing relay
# recipient verification is omitted because many MUA clients don't cope
# well with SMTP error responses. If you are actually relaying from MTAs
# then you should probably add recipient verify here
accept hosts = +relay_hosts
accept hosts = +auth_relay_hosts
endpass
message = authentication required
authenticated = *
deny message = relay not permitted
# default at end of acl causes a "deny", but line below will give
# an explicit error message:
deny message = relay not permitted
# ACL that is used after the DATA command
check_message:
accept
######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################
# There are no authenticator specifications in this default configuration file.
begin authenticators
plain:
driver = plaintext
public_name = PLAIN
server_condition = "${perl{smtpauth}}"
server_set_id = $2
login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = "${perl{smtpauth}}"
server_set_id = $1

######################################################################
# REWRITE CONFIGURATION #
######################################################################
# There are no rewriting specifications in this default configuration file.
######################################################################
# ROUTERS CONFIGURATION #
# Specifies how remote addresses are handled #
######################################################################
# ORDER DOES MATTER #
# A remote address is passed to each in turn until it is accepted. #
######################################################################
begin routers
# Remote addresses are those with a domain that does not match any item
# in the "local_domains" setting above.
# This router routes to remote hosts over SMTP using a DNS lookup. Any domain
# that resolves to an IP address on the loopback interface (127.0.0.0/8) is
# treated as if it had no DNS entry.
lookuphost:
driver = dnslookup
domains = ! +local_domains
ignore_target_hosts = 127.0.0.0/8
condition = "${perl{check_limits}}"
transport = remote_smtp
no_more
# This router routes to remote hosts over SMTP by explicit IP address,
# when an email address is given in "domain literal" form, for example,
# <user@[192.168.35.64]>. The RFCs require this facility. However, it is
# little-known these days, and has been exploited by evil people seeking
# to abuse SMTP relays. Consequently it is commented out in the default
# configuration. If you uncomment this router, you also need to comment out
# "forbid_domain_literals" above, so that Exim can recognize the syntax of
# domain literal addresses.
# domain_literal:
# driver = ipliteral
# transport = remote_smtp
######################################################################
# DIRECTORS CONFIGURATION #
# Specifies how local addresses are handled #
######################################################################
# ORDER DOES MATTER #
# A local address is passed to each in turn until it is accepted. #
######################################################################
# Local addresses are those with a domain that matches some item in the
# "local_domains" setting above, or those which are passed back from the
# routers because of a "self=local" setting (not used in this configuration).
# Spam Assassin
spamcheck_director:
driver = accept
condition = "${if and { \
{!def:h_X-Spam-Flag:} \
{!eq {$received_protocol}{spam-scanned}} \
{!eq {$received_protocol}{local}} \
{exists{/home/${lookup{$domain}lsearch{/etc/virtual/domainowners}{$value}}/.spamassassin/user_prefs}}
\
} {1}{0}}"
retry_use_local_part
transport = spamcheck
no_verify
majordomo_aliases:
driver = redirect
allow_defer
allow_fail
data = ${if exists{/etc/virtual/${domain}/majordomo/list.aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/majord
omo/list.aliases}}}}
domains = lsearch;/etc/virtual/domainowners
file_transport = address_file
group = daemon
pipe_transport = majordomo_pipe
retry_use_local_part
no_rewrite
user = majordomo
majordomo_private:
driver = redirect
allow_defer
allow_fail
#condition = "${if eq {$received_protocol} {local} {true} {false} }"
condition = "${if or { {eq {$received_protocol} {local}} \
{eq {$received_protocol} {spam-scanned}} } {true} {false} }"
data = ${if exists{/etc/virtual/${domain}/majordomo/private.aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/maj
ordomo/private.aliases}}}}
domains = lsearch;/etc/virtual/domainowners
file_transport = address_file
group = daemon
pipe_transport = majordomo_pipe
retry_use_local_part
user = majordomo
domain_filter:
driver = redirect
allow_filter
no_check_local_user
condition = "${if exists{/etc/virtual/${domain}/filter}{yes}{no}}"
user = "mail"
file = /etc/virtual/${domain}/filter
file_transport = address_file
pipe_transport = virtual_address_pipe
retry_use_local_part
no_verify
uservacation:
driver = accept
condition = ${lookup{$local_part} lsearch {/etc/virtual/${domain}/vacation.conf}{yes}{no}}
require_files = /etc/virtual/${domain}/reply/${local_part}.msg
transport = uservacation
unseen
userautoreply:
driver = accept
condition = ${lookup{$local_part} lsearch {/etc/virtual/${domain}/autoresponder.conf}{yes}{no}}
require_files = /etc/virtual/${domain}/reply/${local_part}.msg
transport = userautoreply
unseen
virtual_aliases_nostar:
driver = redirect
allow_defer
allow_fail
data = ${if exists{/etc/virtual/${domain}/aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/aliases}}}}
file_transport = address_file
group = mail
pipe_transport = virtual_address_pipe
retry_use_local_part
unseen
#include_domain = true
virtual_user:
driver = accept
condition = ${if eq {}{${if exists{/etc/virtual/${domain}/passwd}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/passwd
}}}}}{no}{yes}}
domains = lsearch;/etc/virtual/domainowners
group = mail
retry_use_local_part
transport = virtual_localdelivery
virtual_aliases:
driver = redirect
allow_defer
allow_fail
data = ${if exists{/etc/virtual/$domain/aliases}{${lookup{$local_part}lsearch*{/etc/virtual/$domain/aliases}}}}
file_transport = address_file
group = mail
pipe_transport = virtual_address_pipe
retry_use_local_part
#include_domain = true
# This director handles forwarding using traditional .forward files.
# If you want it also to allow mail filtering when a forward file
# starts with the string "# Exim filter", uncomment the "filter" option.
# The check_ancestor option means that if the forward file generates an
# address that is an ancestor of the current one, the current one gets
# passed on instead. This covers the case where A is aliased to B and B
# has a .forward file pointing to A. The three transports specified at the
# end are those that are used when forwarding generates a direct delivery
# to a file, or to a pipe, or sets up an auto-reply, respectively.
userforward:
driver = redirect
allow_filter
check_ancestor
check_local_user
no_expn
file = $home/.forward
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
no_verify
system_aliases:
driver = redirect
allow_defer
allow_fail
data = ${lookup{$local_part}lsearch{/etc/aliases}}
file_transport = address_file
pipe_transport = address_pipe
retry_use_local_part
# user = exim
localuser:
driver = accept
check_local_user
condition = "${if eq {$domain} {$primary_hostname} {yes} {no}}"
transport = local_delivery
# This director matches local user mailboxes.
######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
######################################################################
# A transport is used only when referenced from a director or a router that
# successfully handles an address.

# Spam Assassin
begin transports
spamcheck:
driver = pipe
batch_max = 100
command = /usr/sbin/exim -oMr spam-scanned -bS
current_directory = "/tmp"
group = mail
home_directory = "/tmp"
log_output
message_prefix =
message_suffix =
return_fail_output
no_return_path_add
transport_filter = /usr/bin/spamc -u ${lookup{$domain}lsearch*{/etc/virtual/domainowners}{$value}}
use_bsmtp
user = mail
# must use a privileged user to set $received_protocol on the way back in!

#majordomo
majordomo_pipe:
driver = pipe
group = daemon
return_fail_output
user = majordomo
# This transport is used for local delivery to user mailboxes in traditional
# BSD mailbox format. By default it will be run under the uid and gid of the
# local user, and requires the sticky bit to be set on the /var/mail directory.
# Some systems use the alternative approach of running mail deliveries under a
# particular group instead of using the sticky bit. The commented options below
# show how this can be done.
local_delivery:
driver = appendfile
delivery_date_add
envelope_to_add
file = /var/mail/$local_part
group = mail
mode = 0660
return_path_add
user = ${local_part}
## for delivering virtual domains to their own mail spool
virtual_localdelivery:
driver = appendfile
create_directory
delivery_date_add
directory_mode = 700
envelope_to_add
file = /var/spool/virtual/${domain}/${local_part}
group = mail
mode = 660
return_path_add
user = "${lookup{$domain}lsearch*{/etc/virtual/domainowners}{$value}}"
quota = ${if exists{/etc/virtual/${domain}/quota}{${lookup{$local_part}lsearch*{/etc/virtual/${domain}/quota}{$value}{0}}}{0
}}
#lock_fcntl_timeout = 10
lock_fcntl_timeout = 10s

## vacation transport
uservacation:
driver = autoreply
file = /etc/virtual/${domain}/reply/${local_part}.msg
from = "${local_part}@${domain}"
log = /etc/virtual/${domain}/reply/${local_part}.log
no_return_message
subject = "${if def:h_Subject: {Autoreply: ${quote:${escape:$h_Subject:}}} {I am on vacation}}"
text = "\
------ ------\n\n\
This message was automatically generated by email software\n\
The delivery of your message has not been affected.\n\n\
------ ------\n\n"
to = "${sender_address}"
user = mail
#once = /etc/virtual/${domain}/reply/${local_part}.once
userautoreply:
driver = autoreply
bcc = ${lookup{${local_part}} lsearch {/etc/virtual/${domain}/autoresponder.conf}{$value}}
file = /etc/virtual/${domain}/reply/${local_part}.msg
from = "${local_part}@${domain}"
log = /etc/virtual/${domain}/reply/${local_part}.log
no_return_message
subject = "${if def:h_Subject: {Autoreply: ${quote:${escape:$h_Subject:}}} {Autoreply Message}}"
to = "${sender_address}"
user = mail
#once = /etc/virtual/${domain}/reply/${local_part}.once
# This transport is used for delivering messages over SMTP connections.
remote_smtp:
driver = smtp
# This transport is used for handling pipe deliveries generated by alias
# or .forward files. If the pipe generates any standard output, it is returned
# to the sender of the message as a delivery error. Set return_fail_output
# instead of return_output if you want this to happen only when the pipe fails
# to complete normally. You can set different transports for aliases and
# forwards if you want to - see the references to address_pipe in the directors
# section below.
address_pipe:
driver = pipe
return_output
virtual_address_pipe:
driver = pipe
group = nobody
return_output
user = "${lookup{$domain}lsearch* {/etc/virtual/domainowners}{$value}}"
# This transport is used for handling deliveries directly to files that are
# generated by aliasing or forwarding.
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
# This transport is used for handling autoreplies generated by the filtering
# option of the forwardfile director.
address_reply:
driver = autoreply
######################################################################
# RETRY CONFIGURATION #
######################################################################
# This single retry rule applies to all domains and all errors. It specifies
# retries every 15 minutes for 2 hours, then increasing retry intervals,
# starting at 1 hour and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 8 hours until 4 days have passed since the first
# failed delivery.
# Domain Error Retries
# ------ ----- -------

begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,8h

# End of Exim 4 configuration

[/more]

нашел разве что, строку system_filter = /etc/system_filter.exim

прошел по линку, вроде похоже на кощееву иглу… закоментил все

[more]
# Exim filter
## Version: 0.17
# $Id: system_filter.exim,v 1.11 2001/09/19 11:27:56 nigel Exp $
## Exim system filter to refuse potentially harmful payloads in
## mail messages
## (c) 2000-2001 Nigel Metheringham <nigel@exim.org>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
## -A copy of the GNU General Public License is distributed with exim itself
## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
## If you haven't worked with exim filters before, read
## the install notes at the end of this file.
## The install notes are not a replacement for the exim documentation
## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

## -----------------------------------------------------------------------
# Only run any of this stuff on the first pass through the
# filter - this is an optomisation for messages that get
# queued and have several delivery attempts
#
# we express this in reverse so we can just bail out
# on inappropriate messages
#
if not first_delivery
then
finish
endif
## -----------------------------------------------------------------------
# Check for MS buffer overruns as per BUGTRAQ.
# http://www.securityfocus.com/frames/?content=/templates/article.html%3Fid%3D61
# This could happen in error messages, hence its placing
# here...
# We substract the first n characters of the date header
# and test if its the same as the date header... which
# is a lousy way of checking if the date is longer than
# n chars long
if ${length_80:$header_date:} is not $header_date:
then
fail text "This message has been rejected because it has\n\
an overlength date field which can be used\n\
to subvert Microsoft mail programs\n\
The following URL has further information\n\
http://www.securityfocus.com/frames/?content=/templates/article.html%3Fid%3D61"
seen finish
endif
## -----------------------------------------------------------------------
# These messages are now being sent with a <> envelope sender, but
# blocking all error messages that pattern match prevents
# bounces getting back.... so we fudge it somewhat and check for known
# header signatures. Other bounces are allowed through.
if $header_from: contains "@sexyfun.net"
then
fail text "This message has been rejected since it has\n\
the signature of a known virus in the header."
seen finish
endif
if error_message and $header_from: contains "Mailer-Daemon@"
then
# looks like a real error message - just ignore it
finish
endif
## -----------------------------------------------------------------------
# Look for single part MIME messages with suspicious name extensions
# Check Content-Type header using quoted filename [content_type_quoted_fn_match]
#if $header_content-type: matches "(?:file)?name=(\"[^\"]+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp
|jse?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc])\")"
#then
# fail text "This message has been rejected because it has\n\
# potentially executable content $1\n\
# This form of attachment has been used by\n\
# recent viruses or other malware.\n\
# If you meant to send this file then please\n\
# package it up as a zip file and resend it."
# seen finish
#endif
# same again using unquoted filename [content_type_unquoted_fn_match]
#if $header_content-type: matches "(?:file)?name=(\\\\S+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|j
se?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc]))"
#then
# fail text "This message has been rejected because it has\n\
# potentially executable content $1\n\
# This form of attachment has been used by\n\
# recent viruses or other malware.\n\
# If you meant to send this file then please\n\
# package it up as a zip file and resend it."
# seen finish
#endif

## -----------------------------------------------------------------------
# Attempt to catch embedded VBS attachments
# in emails. These were used as the basis for
# the ILOVEYOU virus and its variants - many many varients
# Quoted filename - [body_quoted_fn_match]
#if $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:fil
e)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\"[^\"]+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse
?|lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc])\")[\\\\s;]"
#then
# fail text "This message has been rejected because it has\n\
# a potentially executable attachment $1\n\
# This form of attachment has been used by\n\
# recent viruses or other malware.\n\
# If you meant to send this file then please\n\
# package it up as a zip file and resend it."
# seen finish
#endif
# same again using unquoted filename [body_unquoted_fn_match]
#if $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:fil
e)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\\\\S+\\\\.(?:ad[ep]|ba[st]|chm|cmd|com|cpl|crt|eml|exe|hlp|hta|in[fs]|isp|jse?|
lnk|md[be]|ms[cipt]|pcd|pif|reg|scr|sct|shs|url|vb[se]|ws[fhc]))[\\\\s;]"
#then
# fail text "This message has been rejected because it has\n\
# a potentially executable attachment $1\n\
# This form of attachment has been used by\n\
# recent viruses or other malware.\n\
# If you meant to send this file then please\n\
# package it up as a zip file and resend it."
# seen finish
#endif
## -----------------------------------------------------------------------

#### Version history
#
# 0.01 5 May 2000
# Initial release
# 0.02 8 May 2000
# Widened list of content-types accepted, added WSF extension
# 0.03 8 May 2000
# Embedded the install notes in for those that don't do manuals
# 0.04 9 May 2000
# Check global content-type header. Efficiency mods to REs
# 0.05 9 May 2000
# More minor efficiency mods, doc changes
# 0.06 20 June 2000
# Added extension handling - thx to Douglas Gray Stephens & Jeff Carnahan
# 0.07 19 July 2000
# Latest MS Outhouse bug catching
# 0.08 19 July 2000
# Changed trigger length to 80 chars, fixed some spelling
# 0.09 29 September 2000
# More extensions... its getting so we should just allow 2 or 3 through
# 0.10 18 January 2001
# Removed exclusion for error messages - this is a little nasty
# since it has other side effects, hence we do still exclude
# on unix like error messages
# 0.11 20 March, 2001
# Added CMD extension, tidied docs slightly, added RCS tag
# ** Missed changing version number at top of file :-(
# 0.12 10 May, 2001
# Added HTA extension
# 0.13 22 May, 2001
# Reformatted regexps and code to build them so that they are
# shorter than the limits on pre exim 3.20 filters. This will
# make them significantly less efficient, but I am getting so
# many queries about this that requiring 3.2x appears unsupportable.
# 0.14 15 August,2001
# Added .lnk extension - most requested item :-)
# Reformatted everything so its now built from a set of short
# library files, cutting down on manual duplication.
# Changed \w in filename detection to . - dodges locale problems
# Explicit application of GPL after queries on license status
# 0.15 17 August, 2001
# Changed the . in filename detect to \S (stops it going mad)
# 0.16 19 September, 2001
# Pile of new extensions including the eml in current use
# 0.17 19 September, 2001
# Syntax fix
#
#### Install Notes
#
# Exim filters run the exim filter language - a very primitive
# scripting language - in place of a user .forward file, or on
# a per system basis (on all messages passing through).
# The filtering capability is documented in the main set of manuals
# a copy of which can be found on the exim web site
# http://www.exim.org/
#
# To install, copy the filter file (with appropriate permissions)
# to /etc/exim/system_filter.exim and add to your exim config file
# [location is installation depedant - typicaly /etc/exim/config ]
# in the first section the line:-
# message_filter = /etc/exim/system_filter.exim
# message_body_visible = 5000
#
# You may also want to set the message_filter_user & message_filter_group
# options, but they default to the standard exim user and so can
# be left untouched. The other message_filter_* options are only
# needed if you modify this to do other functions such as deliveries.
# The main exim documentation is quite thorough and so I see no need
# to expand it here...
#
# Any message that matches the filter will then be bounced.
# If you wish you can change the error message by editing it
# in the section above - however be careful you don't break it.
#
# After install exim should be restarted - a kill -HUP to the
# daemon will do this.
#
#### LIMITATIONS
#
# This filter tries to parse MIME with a regexp... that doesn't
# work too well. It will also only see the amount of the body
# specified in message_body_visible
#
#### BASIS
#
# The regexp that is used to pickup MIME/uuencoded body parts with
# quoted filenames is replicated below (in perl format).
# You need to remember that exim converts newlines to spaces in
# the message_body variable.
#
# (?:Content- # start of content header
# (?:Type: (?>\s*) # rest of c/t header
# [\w-]+/[\w-]+ # content-type (any)
# |Disposition: (?>\s*) # content-disposition hdr
# attachment) # content-disposition
# ;(?>\s*) # ; space or newline
# (?:file)?name= # filename=/name=
# |begin (?>\s+) [0-7]{3,4} (?>\s+)) # begin octal-mode
# (\"[^\"]+\. # quoted filename.
# (?:ad[ep] # list of extns
# |ba[st]
# |chm
# |cmd
# |com
# |cpl
# |crt
# |eml
# |exe
# |hlp
# |hta
# |in[fs]
# |isp
# |jse?
# |lnk
# |md[be]
# |ms[cipt]
# |pcd
# |pif
# |reg
# |scr
# |sct
# |shs
# |url
# |vb[se]
# |ws[fhc])
# \" # end quote
# ) # end of filename capture
# [\s;] # trailing ;/space/newline
#
#
### [End]

[/more]

рестартовал екзима, а реакции никакой… тогда более того, закоментил вообще строку system_filter = /etc/system_filter.exim в exim.conf… рестартавал, а он как откидывал эти письма… так и откидывает.

Помогите пожалуйста – пользователи убивают :”-(…
Автор: PPutnik
Дата сообщения: 20.10.2006 10:38
такое впечатление, что в фильтре все-таки не закоментил те строки, или это не тот файл фильтра, или не тот файл конфига
смотри exim -bV на предмет путей, для начала.
Имхо.


..кто бы мне ответил....
Автор: ekomaster22
Дата сообщения: 20.10.2006 11:16
да нет, все верно

# /usr/sbin/exim -bV
Exim version 4.62 #1 built 02-May-2006 13:10:24
Copyright (c) University of Cambridge 2006
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq use_setclassresources Perl OpenSSL move_frozen_messages Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Size of off_t: 8
Configuration file is /etc/exim.conf

и нет больше ничего

[more]
/etc/exim.cert
/etc/exim.cert_config
/etc/exim.conf
/etc/exim.key
/etc/exim.pl
/etc/system_filter.exim
/usr/local/etc/rc.d/exim
/usr/local/share/doc/exim
/usr/local/share/doc/exim/Exim3.upgrade
/usr/local/share/doc/exim/Exim4.upgrade
/usr/local/share/doc/exim/OptionLists.txt
/usr/local/share/doc/exim/README
/usr/local/share/doc/exim/dbm.discuss.txt
/usr/local/share/doc/exim/pcre.txt
/usr/local/share/doc/exim/pcretest.txt
/usr/ports/audio/rexima
/usr/ports/audio/rexima/Makefile
/usr/ports/audio/rexima/distinfo
/usr/ports/audio/rexima/files
/usr/ports/audio/rexima/files/patch-Makefile
/usr/ports/audio/rexima/pkg-descr
/usr/ports/mail/exim
/usr/ports/mail/exim/Makefile
/usr/ports/mail/exim/distinfo
/usr/ports/mail/exim/files
/usr/ports/mail/exim/files/150.exim-tidydb.sh
/usr/ports/mail/exim/files/460.exim-mail-rejects.sh
/usr/ports/mail/exim/files/POST-INSTALL-NOTES
/usr/ports/mail/exim/files/POST-INSTALL-NOTES.clamd
/usr/ports/mail/exim/files/exim.sh
/usr/ports/mail/exim/files/patch-OS::Makefile-FreeBSD
/usr/ports/mail/exim/files/patch-doc::spec.txt
/usr/ports/mail/exim/files/patch-scripts::exim_install
/usr/ports/mail/exim/files/patch-src::EDITME
/usr/ports/mail/exim/files/patch-src::configure.default
/usr/ports/mail/exim/files/patch-src_acl.c
/usr/ports/mail/exim/options
/usr/ports/mail/exim/pkg-descr
/usr/ports/mail/exim/pkg-install
/usr/ports/mail/exim/pkg-message
/usr/ports/mail/exim/pkg-plist
/usr/ports/mail/exim-doc-html
/usr/ports/mail/exim-doc-html/Makefile
/usr/ports/mail/exim-doc-html/distinfo
/usr/ports/mail/exim-doc-html/pkg-descr
/usr/ports/mail/exim-doc-html/pkg-plist_info
/usr/ports/mail/exim-doc-info
/usr/ports/mail/exim-doc-info/Makefile
/usr/ports/mail/exim-doc-pdf
/usr/ports/mail/exim-doc-pdf/Makefile
/usr/ports/mail/exim-doc-postscript
/usr/ports/mail/exim-doc-postscript/Makefile
/usr/ports/mail/exim-ldap2
/usr/ports/mail/exim-ldap2/Makefile
/usr/ports/mail/exim-monitor
/usr/ports/mail/exim-monitor/Makefile
/usr/ports/mail/exim-monitor/distinfo
/usr/ports/mail/exim-monitor/files
/usr/ports/mail/exim-monitor/files/patch-OS::Makefile-Base
/usr/ports/mail/exim-monitor/files/patch-OS::Makefile-FreeBSD
/usr/ports/mail/exim-monitor/files/patch-src::EDITME
/usr/ports/mail/exim-monitor/pkg-descr
/usr/ports/mail/exim-monitor/pkg-message
/usr/ports/mail/exim-monitor/pkg-plist
/usr/ports/mail/exim-mysql
/usr/ports/mail/exim-mysql/Makefile
/usr/ports/mail/exim-postgresql
/usr/ports/mail/exim-postgresql/Makefile
/usr/ports/mail/exim-sa-exim
/usr/ports/mail/exim-sa-exim/Makefile
/usr/sbin/exim
/usr/sbin/exim_checkaccess
/usr/sbin/exim_dbmbuild
/usr/sbin/exim_dumpdb
/usr/sbin/exim_fixdb
/usr/sbin/exim_lock
/usr/sbin/exim_tidydb
/usr/sbin/eximstats
/var/db/pkg/exim-4.62-1
/var/db/pkg/exim-4.62-1/+COMMENT
/var/db/pkg/exim-4.62-1/+CONTENTS
/var/db/pkg/exim-4.62-1/+DESC
/var/db/pkg/exim-4.62-1/+INSTALL
/var/log/exim
/var/log/exim/mainlog
/var/log/exim/mainlog.0
/var/log/exim/mainlog.1
/var/log/exim/mainlog.2
/var/log/exim/mainlog.3
/var/log/exim/mainlog.4
/var/log/exim/paniclog
/var/log/exim/paniclog.0
/var/log/exim/paniclog.1
/var/log/exim/paniclog.2
/var/log/exim/paniclog.3
/var/log/exim/paniclog.4
/var/log/exim/rejectlog
/var/log/exim/rejectlog.0
/var/log/exim/rejectlog.1
/var/log/exim/rejectlog.2
/var/log/exim/rejectlog.3
/var/log/exim/rejectlog.4
/var/run/exim.pid
/var/spool/exim
/var/spool/lock/exim
[/more]
Автор: golodnyj
Дата сообщения: 20.10.2006 12:16
Уважаемые админы подскажите
Есть 2 сервера под ексченджем один внутренний другой внешний
внешний работает как ресейлер (тоесть пересылает письма наружу и соответственно во внутрь) этакий страж )))) хы
Есть желание убрать нелегал )
перейти на exim под FreeBSD

Собстно вопрос:
Как должен быть настроен Exim на страже чтобы пересылать почту на внутренний сервер
при этом чтобы на внутреннем сервере ничего не менять ?
))))
нужноли ставить на него tpop3d или dovecot ?

Автор: Yakon
Дата сообщения: 20.10.2006 15:18
golodnyj
http://www.lissyara.su/?id=1173
Я настраивал по этой статье.
Дописал в конфиг.
manualroute:
driver = manualroute
transport = special_smtp
route_list = mydomain.ru 1.2.3.4
special_smtp:
driver = smtp
port = 9025
command_timeout = 30s
exim пересылает для моего домена почту внутрь по IP внуреннего сервера.
Остальные домены шлёт через dnslookup:
dovecot нуже, чтоб работать с серваком по pop3 или imap.
Exim - это MTA и знает только smtp.
Если тебе кроме пересылки ничего не нужно, то кроме exim ничего не нужно ставить.



Добавлено:
Проблема с exim.
Появилась где-то неделю-две назад. Ничего не менял.
Переодически вся почта стала застопориваться.
В логах exim_mainlog
2006-10-20 15:40:20 1GabWp-000DKV-FF == user@mydomain.ru R=manualroute T=special_smtp defer (-53): retry time not reached for any host
В остальных логах exim и системы чисто.

Часть конфига:

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
            
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}'}}
manualroute:
driver = manualroute
transport = special_smtp
route_list = mydomain.ru 1.2.3.4

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


begin transports

remote_smtp:
driver = smtp

special_smtp:
driver = smtp
port = 9025
command_timeout = 30s

dovecot_delivery:
driver = appendfile
group = mail
check_string = ""
message_prefix = ""
message_suffix = ""
create_directory
delivery_date_add
directory_mode = 770
envelope_to_add
directory = /var/mail/exim/${lookup mysql{SELECT \
`maildir` FROM `mailbox` WHERE `username` \
= '${quote_mysql:$local_part@$domain}'}}new/

address_pipe:
driver = pipe
return_output

address_reply:
driver = autoreply

Убираю manualroute, перезапускаю exim, он доставляет в dovecot.
Оттуда забираю через multipop внутреннего сервака (mdaemon).
Востанавливаю manualroute, exim нормально шлёт письма на внутренний сервак.
В один прикрасный момент, бац. Опять письма не идут и логах теже строчки.
Уже мозги в трубочку свернулись. Куда копать?
Автор: opex2003
Дата сообщения: 20.10.2006 20:51
Вопрос: кто нибудь сталкивался с доработкой транспорта таким образом:
Приходит сообщение, просматривается заголовок, оттуда вычленяются некоторые подробности (скажем название сервера с которого было отправлено письмо, или СС ...), дальше лезется в mysql и от туда берется путь (в зависимости от найденого) куда надо положить это письмо.
Автор: ekomaster22
Дата сообщения: 21.10.2006 14:38
Закрываю свой вопрос - проблема была в том, что он не рестартовал по нормальному и новые настройки не применялись.
Автор: AndrewProcerov
Дата сообщения: 30.10.2006 14:52
Вопрос к знатокам, как можно реализовать следующую вещь.
Приходит письмо на адрес, а мне его надо перенаправить в виде нескольких писем, но так что каждому получателю было заполнено в поле To: именно его адрес, и соответственно изменить адрес отправителя, оставив неизменным тело письма.
Автор: piranha
Дата сообщения: 30.10.2006 15:08
Подскажите, пожалуйста.

Есть в конфиге вот такой роутер:

[more=virtual_dom_groups]

Код:
virtual_dom_groups:
driver = redirect
allow_fail
senders = ${if eq{Y}{${lookup mysql{select g.is_public \
from groups g, domains d \
where d.enabled = '1' and \
d.domain = '${domain}' and \
d.domain_id = g.domain_id and \
g.enabled = '1' and \
g.name = '${local_part}'} } } \
{$sender_address} \
{${lookup mysql{select u.username \
from domains d, groups g, group_contents c, users u \
where d.enabled = '1' and \
d.domain = '${domain}' and \
d.domain_id = g.domain_id and \
g.name = '${local_part}' and \
g.enabled = '1' and \
g.is_public = 'N' and \
c.member_id = u.user_id and \
d.domain_id = u.domain_id and \
u.enabled = '1' } } } }
data = ${lookup mysql{select u.username \
from domains d, groups g, group_contents c, users u \
where d.enabled = '1' and \
d.domain = '${domain}' and \
d.domain_id = g.domain_id and \
g.enabled = '1' and \
g.id = c.group_id and \
c.member_id = u.user_id and \
d.domain_id = u.domain_id and \
u.enabled = '1' and \
g.name = '${local_part}'} }
local_part_suffix = +*
local_part_suffix_optional
retry_use_local_part
reply_transport = address_reply
pipe_transport = address_pipe
Автор: PPutnik
Дата сообщения: 31.10.2006 09:32

Цитата:
${if eq{Y}

может
${if eq{"Y"}
?
Кто бы мне ответил (выше)....
Автор: piranha
Дата сообщения: 31.10.2006 12:31
Да, забыл дописать. Пробовал и "Y", и 'Y' - не помогает.

> Кто бы мне ответил (выше)....

А можно посмотреть на полный вывод дебага от этого роутера? Начиная с "--------> myfilter router <--------". А то да, какая-то фигня.


Цитата:
Еще плз, если можно, для лучшего понимания - почему все-таки $host_address и $domain пустые? потому что в роутере? (тестировал на подключении с другого ip)


Да вообще-то http://exim.org/exim-html-4.62/doc/html/spec_html/ch11.html#SECTexpvar


Цитата:
$domain

When an address is being routed, or delivered on its own, this variable contains the domain.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: MS Outlook Возвращает: Не удается доставить.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.