Возможно вы искали: 'Light Corridor'

May 15 2025 18:13:51
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Установка Exim с поддержкой виртуальных аккаунтов (база в MySQL) (mail exim virtual)

Установка Exim с поддержкой виртуальных аккаунтов (база в MySQL) (mail exim virtual)

Ключевые слова: mail, exim, virtual, (найти похожие документы)

From: ginger
Newsgroups: Ru.Board (http://ru-board.com)
Date: Mon, 20 Nov 2004 18:21:07 +0000 (UTC)
Subject: Установка Exim с поддержкой виртуальных аккаунтов (база в MySQL)

Оригинал: http://ru-board.com/new/article.php?sid=150


В данной статье мы рассмотрим установку почтового сервера на базе Exim
с поддержкой виртуальных аккаунтов (MySQL).

Exim - свободно распространяемый Mail Transport Agent (MTA),
обладающий возможностью очень гибкой и тонкой настройки, включая поиск
конфигурационной информации в различных базах данных. Кроме того, Exim
поддерживает Maildir (quota), SMTP-аутентификацию и TLS/SSL без
применения патчей.

Исходные данные:

FreeBSD 4.6
MySQL 3.23.49
OpenSSL 0.9.7a


Все действия выполняются от супер-пользователя root.

Сначала скачиваем дистрибутив Exim с сайта производителя: http://www.exim.org

bash-2.05a# cd /var/tmp
bash-2.05a# wget ftp://ftp.exim.org/pub/exim/exim4/exim-4.20.tar.gz
bash-2.05a# md5 exim-4.20.tar.gz
MD5 (exim-4.20.tar.gz) = a1f06f1de1ab602a25d78ad2a20819f2



Создаем пользователя, необходимого для работы Exim.

bash-2.05a# pw useradd mail -c "Mail Server" -d /var/spool/mqueue -g mail -s /sbin/nologin

su-2.05a# cat /etc/passwd |grep mail
mail:*:1005:6:Mail Server:/var/spool/mqueue:/sbin/nologin

su-2.05a# cat /etc/group |grep mail
mail:*:6:

su-2.05a# cd exim-4.20
su-2.05a# cp src/EDITME Local/Makefile



Отредактируем Local/Makefile, изменив следующее:

BIN_DIRECTORY=/usr/exim/bin
на:
BIN_DIRECTORY=/usr/sbin


Здесь мы указываем путь установки исполняемых файлов Exim'а.

CONFIGURE_FILE=/usr/exim/configure
на:
CONFIGURE_FILE=/etc/mail/exim.conf


Здесь мы указываем имя и путь к файлу конфигурации Exim'а.

EXIM_USER=
на:
EXIM_USER=1005


Здесь мы указываем числовой идентификатор пользователя, от имени
которого будет работать Exim. В нашем случае это пользователь с именем
mail.

# EXIM_GROUP=
на:
EXIM_GROUP=6


Указываем числовой идентификатор группы, от имени которой будет
работать Exim. В нашем случае это группа с именем mail.

SPOOL_DIRECTORY=/var/spool/exim
на:
SPOOL_DIRECTORY=/var/spool/mqueue


Указываем имя spool-директории.

# SUPPORT_MAILDIR=yes
на:
SUPPORT_MAILDIR=yes


Этим мы включаем поддержку Maildir.

# LOOKUP_MYSQL=yes
на:
LOOKUP_MYSQL=yes


Этим мы включаем поддержку MySQL.


Для того, чтобы узнать путь к файлам библиотек и заголовков MySQL,
выполним:

su-2.05a# mysql_config
Usage: /usr/local/bin/mysql_config [OPTIONS]
Options:
--cflags [-I'/usr/local/include/mysql']
--libs [-L'/usr/local/lib/mysql' -lmysqlclient -lz -lcrypt -lm]
--socket [/tmp/mysql.sock]
--port [3306]
--version [3.23.49]


Полученные значения подставляем в строках ниже.

# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I
/usr/local/mysql/include -I/usr/local/pgsql/include
# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq
на:
LOOKUP_INCLUDE=-I /usr/local/include/mysql
LOOKUP_LIBS=-L/usr/local/lib/mysql -lmysqlclient -lz -lcrypt -lm

EXIM_MONITOR=eximon.bin
на:
#EXIM_MONITOR=eximon.bin


Здесь мы выключаем поддержку Exim Monitor.
Для работы Exim Monitor требуется наличие X11, нами это не
используется.

# AUTH_CRAM_MD5=yes
# AUTH_PLAINTEXT=yes
на:
AUTH_CRAM_MD5=yes
AUTH_PLAINTEXT=yes


Здесь мы включаем поддержку SMTP-аутентификации PLAIN и CRAM-MD5.

# SUPPORT_TLS=yes
на:
SUPPORT_TLS=yes


Этим мы включаем поддержку TLS/SSL для обеспечения защищенного
соединения.

# TLS_LIBS=-lssl -lcrypto
на:
TLS_LIBS=-lssl -lcrypto


Указываем имена используемых библиотек для TLS/SSL.

# LOG_FILE_PATH=syslog
на:
LOG_FILE_PATH=syslog


Указываем, что журнальная информация должна фиксироваться в syslog.

# EXIM_PERL=perl.o
на:
EXIM_PERL=perl.o


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

SYSTEM_ALIASES_FILE=/etc/aliases
на:
SYSTEM_ALIASES_FILE=/etc/mail/aliases


Здесь мы указываем путь к файлу псевдонимов.

# CHOWN_COMMAND=/usr/bin/chown
на:
CHOWN_COMMAND=/usr/sbin/chown


Указываем правильный путь к команде chown.

# SUPPORT_MOVE_FROZEN_MESSAGES=yes
на:
SUPPORT_MOVE_FROZEN_MESSAGES=yes


Здесь мы включаем поддержку автоматического перемещения "frozen"
сообщений из каталогов input и msglog в каталоги Finput и Fmsglog
основного спула.


После редактирования выполним:

su-2.05a# make


Для того чтобы понять, какие файлы будут установлены при установке
Exim, выполним следующее.

su-2.05a# cd
su-2.05a# find /* >exim1



Возвращаемся в рабочий каталог и произведем установку. Для этого
выполним:

su-2.05a# cd /var/tmp/exim-4.20
su-2.05a# make install



После того, как установка завершена, нужно создать символические
ссылки. Для этого проделаем следующее:

su-2.05a# ln -fs /usr/sbin/exim /usr/lib/sendmail
su-2.05a# ln -fs /usr/sbin/exim /usr/sbin/sendmail
su-2.05a# ln -fs /usr/sbin/exim /usr/bin/mailq
su-2.05a# ln -fs /usr/sbin/exim /usr/bin/runq



Теперь необходимо удалить из объектных файлов Exim'а таблицы имен и
информацию о номерах строк. Для этого выполним:

su-2.05a# strip /usr/sbin/exim*



Повторим операцию, проделанную ранее до установки Exim'а, чтобы
понять, какие файлы были установлены. Для этого выполним следующее:

su-2.05a# cd
su-2.05a# find /* >exim2
su-2.05a# diff exim1 exim2 >exim-inst



Прежде чем приступить к конфигурированию Exim'а, нужно создасть базу
данных, пользователя и соответсвующие таблицы. Для этого выполним:

su-2.05a# mysql -u root mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2 to server version: 3.23.49-log

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> CREATE DATABASE exim;
Query OK, 0 rows affected (0.00 sec)

mysql> q
Bye



Создаем пользователя sqlmail и присваиваем ему полные права на базу
exim:

su-2.05a# mysql -u root mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3 to server version: 3.23.49-log

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> GRANT ALL PRIVILEGES ON exim.* TO sqlmail@localhost
-> IDENTIFIED BY 'my_password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> q
Bye



Когда база данных и пользователь созданы, нужно создать структуру
таблиц и ввести данные о пользователях Для этого выполним:

su-2.05a#mysql -u sqlmail exim -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3 to server version: 3.23.49-log

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.


Создаем таблицу aliases со следующей структурой:

mysql> CREATE TABLE aliases (
-> local_part varchar(64) NOT NULL default '',
-> domain varchar(128) NOT NULL default '',
-> recipients text,
-> PRIMARY KEY (local_part,domain));


Добавляем данные в таблицу aliases:

INSERT INTO aliases VALUES ('postmaster','example.ru','ginger');
INSERT INTO aliases VALUES
('mailer-daemon','example.ru','postmaster');
INSERT INTO aliases VALUES ('root','example.ru','postmaster');
INSERT INTO aliases VALUES ('bin','example.ru','root');
INSERT INTO aliases VALUES ('daemon','example.ru','root');
INSERT INTO aliases VALUES ('sync','example.ru','root');
INSERT INTO aliases VALUES ('mail','example.ru','root');
INSERT INTO aliases VALUES ('pop','example.ru','root');
INSERT INTO aliases VALUES ('uucp','example.ru','root');
INSERT INTO aliases VALUES ('ftp','example.ru','root');
INSERT INTO aliases VALUES ('nobody','example.ru','root');
INSERT INTO aliases VALUES ('www','example.ru','root');
INSERT INTO aliases VALUES ('named','example.ru','root');
INSERT INTO aliases VALUES ('postgres','example.ru','root');
INSERT INTO aliases VALUES ('mysql','example.ru','root');
INSERT INTO aliases VALUES ('squid','example.ru','root');
INSERT INTO aliases VALUES ('drweb','example.ru','root');
INSERT INTO aliases VALUES ('operator','example.ru','root');
INSERT INTO aliases VALUES ('abuse','example.ru','root');
INSERT INTO aliases VALUES ('hostmaster','example.ru','root');
INSERT INTO aliases VALUES ('webmaster','example.ru','root');


Создаем таблицу domains со следующей структурой:

mysql> CREATE TABLE domains (
-> domain varchar(128) NOT NULL default '',
-> type enum('LOCAL','RELAY','VIRTUAL') default 'LOCAL',
-> PRIMARY KEY (domain));


Добавляем данные в таблицу domains:

INSERT INTO domains VALUES ('example.ru','LOCAL');


Создаем таблицу userforward, со следующей структурой:

mysql> CREATE TABLE userforward (
-> local_part varchar(64) NOT NULL default '',
-> domain varchar(128) NOT NULL default '',
-> recipients text,
-> PRIMARY KEY (local_part,domain));


Добавляем данные в таблицу userforward:

INSERT INTO userforward VALUES ('noc','example.ru','ginger');
INSERT INTO userforward VALUES ('sysadmin','example.ru','ginger');
INSERT INTO userforward VALUES ('security','example.ru','ginger, victor');


Создаем таблицу users, со следующей структурой:

mysql> CREATE TABLE users (
-> id varchar(64) NOT NULL default '',
-> crypt varchar(64) NOT NULL default '',
-> passwd varchar(64) NOT NULL default '',
-> uid int(10) unsigned default '8',
-> gid int(10) unsigned default '12',
-> mbox_host varchar(128) NOT NULL default 'example.ru',
-> shell varchar(32) binary default '/sbin/nologin',
-> home varchar(128) binary default '/home/vmail/domains',
-> quota tinyint(4) default '15',
-> active enum('Y','N') default 'Y',
-> PRIMARY KEY (id,mbox_host));


Добавляем пользователей в таблицу users:

INSERT INTO users VALUES
('ginger',ENCRYPT('my-secret-pass'),'my-secret-pass',8,12,
'example.ru','/sbin/nologin','/home/vmail/domains/example.ru/ginger',15,'Y');
INSERT INTO users VALUES
('victor',ENCRYPT('12345'),'12345',8,12,'example.ru',
'/sbin/nologin','/home/vmail/domains/example.ru/victor',15,'Y');

mysql> q
Bye



Перейдем в каталог, где находится exim.conf, и проделаем следующее:

su-2.05a# cd /etc/mail/
su-2.05a# cp exim.conf exim.conf-default
su-2.05a# grep -v ^# exim.conf-default > exim.conf


После этого приступим к редактированию файла конфигурации exim.conf.

### /etc/mail/exim.conf ###

primary_hostname = smtp.example.ru
domainlist local_domains = ${lookup mysql{SELECT domain FROM domains
WHERE domain='${domain}' AND
(type='LOCAL' OR type='VIRTUAL')}}
domainlist relay_to_domains = ${lookup mysql{SELECT domain FROM domains
WHERE domain='${domain}' AND type='RELAY'}}
hostlist relay_from_hosts = 127.0.0.1

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

qualify_domain = example.ru

log_selector =
+all_parents
+lost_incoming_connection
+received_sender
+received_recipients
+smtp_confirmation
+smtp_syntax_error
+smtp_protocol_error
-queue_run

allow_domain_literals = false
never_users = root:daemon:bin:sync:named
host_lookup = *
#trusted_users = mail:drweb
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 30m
timeout_frozen_after = 3d
freeze_tell = postmaster
auto_thaw = 1h
#system_filter = /etc/mail/system-filter
#message_body_visible = 5000
message_size_limit = 10M
smtp_accept_max = 50
smtp_accept_max_per_connection = 50
smtp_connect_backlog = 50
smtp_accept_max_per_host = 25
split_spool_directory = true
remote_max_parallel = 15

hide mysql_servers = localhost/exim/sqlmail/my_password

begin acl

acl_check_rcpt:

accept hosts = :
deny local_parts = ^.*[@%!/|] : ^\.

accept local_parts = postmaster
domains = +local_domains

require verify = sender
deny message = host is listed in $dnslist_domain
dnslists = sbl.spamhaus.org :
relays.ordb.org :
opm.blitzed.org :
proxies.blackholes.easynet.nl

accept domains = +local_domains
endpass
message = unknown user
verify = recipient

accept domains = +relay_to_domains
endpass
message = unrouteable address
verify = recipient

accept hosts = +relay_from_hosts

accept authenticated = *

deny message = relay not permitted

acl_check_data:

deny message = Go Away! Eat Your Spam Self!
condition = ${if match{$message_body}
{105[-_]*51[-_]*86|778[-_]*98[-_]*94}
{yes}{no}}

accept

begin routers

#drweb_router:
# driver = accept
# condition = ${if
eq{$received_protocol}{drweb-scanned}{0}{1}}
# transport = drweb
# no_verify

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 recipients FROM aliases
WHERE local_part='${local_part}' AND domain='${domain}'}}

userforward:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT recipients FROM
userforward
WHERE local_part='${local_part}' AND domain='${domain}'}}

mysqluser:
driver = accept
condition = ${if eq{} {${lookup mysql{SELECT home FROM users
WHERE id='${local_part}' AND
mbox_host='${domain}'
AND active='Y'}}}{no}{yes}}
transport = mysql_delivery

begin transports

remote_smtp:
driver = smtp

mysql_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT(home, "/Maildir") FROM users
WHERE id='${local_part}' AND mbox_host='${domain}'}}
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
quota = ${lookup mysql{SELECT quota FROM users
WHERE id='${local_part}' AND mbox_host='${domain}'}{${value}M}}
quota_size_regex = S=(d+)$
quota_warn_threshold = 75%
return_path_add

address_pipe:
driver = pipe
return_output

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

address_reply:
driver = autoreply

#drweb:
# driver = pipe
# command = /opt/drweb/drweb-exim -f <${sender_address}> -- ${pipe_addresses}
# current_directory = /var/drweb/spool
# escape_string =
# group = mail
# headers_add = X-Virus-Scanned: by DrWeb for Unix
# message_prefix =
# message_suffix =
# path = /bin:/sbin:/usr/bin:/usr/sbin:/opt/drweb
# no_return_output
# no_return_path_add
# user = drweb

begin retry

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

begin rewrite


begin authenticators

auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT id FROM users
WHERE id = '${quote_mysql:${local_part:$2}}'
AND mbox_host = '${quote_mysql:${domain:$2}}'
AND passwd = '${quote_mysql:$3}'
AND active = 'Y'}{yes}{no}}
server_prompts = :

server_set_id = $2

auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT id FROM users
WHERE id = '${quote_mysql:${local_part:$1}}'
AND mbox_host = '${quote_mysql:${domain:$1}}'
AND passwd = '${quote_mysql:$2}'
AND active = 'Y'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1

auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT passwd FROM users
WHERE id = '${quote_mysql:${local_part:$1}}'
AND mbox_host = '${quote_mysql:${domain:$1}}'
AND active = 'Y'}{$value}fail}
server_set_id = $1

### /etc/mail/exim.conf ###



где,

* primary_hostname - полное имя хоста (FQDN);


* domainlist local_domains - список доменов, для которых принимаем почту как для локальных;


* domainlist relay_to_domains - список доменов, для которых разрешено принимать почту;


* hostlist relay_from_hosts - список адресов (IP) с которых разрешено принимать почту;


* acl_smtp_rcpt = acl_check_rcpt - вызов правил доступа при проверке адреса получателя;


* acl_smtp_data = acl_check_data - вызов правил доступа при проверке пересылаемых данных;


* qualify_domain - определение имени домена из FQDN сетевого узла или из адреса отправителя;


* log_selector - указываем события, которые необходимо протоколировать;


* host_lookup - поиск имени по адресу или наоборот;


* auto_thaw - указываем время, по истечению которого будет возобновлена попытка доставить frozen сообщение(я);


* message_size_limit - указываем максимальный размер сообщения;


* smtp_accept_max - указываем максимально возможное число одновременных smtp сессий.



После этого создаем файл запуска. Для этого проделаем следующее:

su-2.05a# cat > /usr/local/etc/rc.d/exim.sh
#!/bin/sh
case "$1" in
start)
echo "starting Exim..."
/usr/sbin/exim -bd -q15m
;;
restart)
echo "restarting Exim..."
kill -HUP `cat /var/spool/mqueue/exim-daemon.pid`
;;
stop)
echo "stopping Exim..."
kill -TERM `cat /var/spool/mqueue/exim-daemon.pid`
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
^D

su-2.05a# chmod +x /usr/local/etc/rc.d/exim.sh



Теперь необходимо проверить правильность синтаксиса файла конфигурации
/etc/mail/exim.conf. Для этого выполним:

su-2.05a# exim -bV
Exim version 4.20 #1 built 22-May-2003 14:22:20
Copyright (c) University of Cambridge 2003
Probably Berkeley DB version 1.8x (native mode)
Support for: Perl OpenSSL
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute
queryprogram redirect
Transports: appendfile/maildir/mbx autoreply pipe smtp
Configuration file is /etc/mail/exim.conf


Если ошибок не обнаружено, идем дальше.
Теперь требуется проверить, будет ли осуществляться распознование
сообщений для локальных пользователей. Для этого выполним:

su-2.05a# exim -bt postmaster
postmaster@example.ru
router = mysqluser, transport = mysql_delivery


Если ошибок не обнаружено, переходим к следующему шагу. Проверим,
будет ли осуществляться распознование сообщений для внешних
пользователей:

su-2.05a# exim -bt someuser@msn.com
someuser@msn.com
router = dnslookup, transport = remote_smtp


Если ошибок не обнаружено, идем дальше. Необходимо проверить, будет ли
осуществляться доставка сообщений локальным пользователям, для этого
выполним:

su-2.05a# exim -v postmaster@example.ru
From: ginger@example.ru
To: postmaster@example.ru
Subject: Testing Exim

This is a test message.
^D
LOG: MAIN
<= root@example.ru U=root P=local S=303
su-2.05a# LOG: MAIN
=> ginger R=mysqluser
T=mysql_delivery
LOG: MAIN
Completed
^C


Если ошибок не обнаружено, идем дальше - проверим, будет ли
осуществляться доставка сообщений внешним пользователям:

su-2.05a# exim -v someuser@msn.com
From: ginger@example.ru
To: someuser@msn.com
Subject: Testing Exim

This is a test message.
^D
LOG: MAIN
<= root@example.ru U=root P=local S=303
su-2.05a# LOG: MAIN
=> someuser R=dnslookup
T=remote_smtp
LOG: MAIN
Completed
^C


На данном этапе мы убедились, что Exim правильно настроен и работает.
Осталось проверить SMTP аутентификацию. Для этого сделаем следующее.

Запускаем Exim:

su-2.05a# /usr/local/etc/rc.d/exim.sh start


Формируем строку PLAIN аутентификации (Netscape):

su-2.05a# printf 'ginger@example.ruginger@example.rumy-secret-pass' | mmencode
Z2luZ2VyQGV4YW1wbGUucnUAZ2luZ2VyQGV4YW1wbGUucnUAbXktc2VjcmV0LXBhc3M=

su-2.05a# telnet localhost 25 Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 smtp.example.ru ESMTP Exim 4.20 Fri, 05 Sep 2003 13:59:25 +0400
ehlo localhost
250-smtp.example.ru Hello localhost.localdomain [127.0.0.1]
250-SIZE 10485760
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
auth plain
334
Z2luZ2VyQGV4YW1wbGUucnUAZ2luZ2VyQGV4YW1wbGUucnUAbXktc2VjcmV0LXBhc3M=
235 Authentication succeeded
quit
221 smtp.example.ru closing connection
Connection closed by foreign host.


Из примера видно, что все прошло успешно. Если у вас иной результат -
еще раз внимательно прочитайте и ищите ошибку.


Идем дальше - формируем строку LOGIN аутентификации (Outlook):

su-2.05a# echo -n ginger@example.ru | mimencode -b
Z2luZ2VyQGV4YW1wbGUucnU=

su-2.05a# echo -n my-secret-pass | mimencode -b
bXktc2VjcmV0LXBhc3M=

su-2.05a# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 smtp.example.ru ESMTP Exim 4.20 Fri, 05 Sep 2003 14:01:25 +0400
ehlo localhost
250-smtp.example.ru Hello localhost.localdomain [127.0.0.1]
250-SIZE 10485760
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
auth login
334 VXNlcm5hbWU6
Z2luZ2VyQGV4YW1wbGUucnU=
334 UGFzc3dvcmQ6
bXktc2VjcmV0LXBhc3M=
235 Authentication succeeded
quit
221 smtp.example.ru closing connection
Connection closed by foreign host.


Опять-таки видно, что все прошло успешно. Если вы получили иной
результат - ищите ошибку.


Далее проверяем CRAM-MD5 аутентификацию (The Bat!), для этого
выполним:

su-2.05a# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 smtp.example.ru ESMTP Exim 4.20 Fri, 05 Sep 2003 14:09:15 +0400
ehlo localhost
250-smtp.example.ru Hello localhost.localdomain [127.0.0.1]
250-SIZE 10485760
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
auth cram-md5
334 PDI2NDAyLjEwNTY2MTE1NTVAc210cC5leGFtcGxlLnJ1Pg==
Z2luZ2VyQGV4YW1wbGUucnUgYjllN2Q1OTUxMGMxNjE0YzIwYjU4N2JkNmFkODk2MDI=
235 Authentication succeeded
quit
221 smtp.example.ru closing connection
Connection closed by foreign host.


Как видите, и это прошло успешно, ищите ошибку, если получили иной
результат.


Теперь я опишу свои действия. После того, как была выполнена команда
auth cram-md5, появилась строка вида:

334 PDI2NDAyLjEwNTY2MTE1NTVAc210cC5leGFtcGxlLnJ1Pg==


После этого мы должны выполнить следующее:

su-2.05a# perl -MMIME::Base64 -e 'print
MIME::Base64::decode_base64(shift), "n"'
PDI2NDAyLjEwNTY2MTE1NTVAc210cC5leGFtcGxlLnJ1Pg==

<26402.1056611555@smtp.example.ru.>


Затем выполним:

su-2.05a# perl -MMIME::Base64 -MDigest::HMAC_MD5 -e
'print MIME::Base64::encode_base64($ARGV[0] . " " .
Digest::HMAC_MD5::hmac_md5_hex($ARGV[2], $ARGV[1]))'
'ginger@example.ru' 'my-secret-pass'
'<26402.1056611555@smtp.example.ru.>'

Z2luZ2VyQGV4YW1wbGUucnUgYjllN2Q1OTUxMGMxNjE0YzIwYjU4N2JkNmFkODk2MDI=


Полученный результат и есть интересующая нас строка.

На этом установку и настройку Exim, можно считать полностью
завершенной.

Настоятельно рекомендуем ознакомиться с темой FAQ по Exim MTA.
http://forum.ru-board.com/topic.cgi?forum=8&topic=4514
854 Прочтений •  [Установка Exim с поддержкой виртуальных аккаунтов (база в MySQL) (mail exim virtual)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Установка Exim с поддержкой виртуал... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка