Jump to content

Создание Email Server на основе XMail.


Recommended Posts

Устанавливаем пакет opkg install xmail
Создаём каталоги mkdir /opt/var/lib/xmail /opt/var/lib/xmail/MailRoot
Распаковываем архив tar xvjf /opt/etc/MailRoot.tar.bz2 -C /opt/var/lib/xmail/MailRoot
Копируем файл запуска cp /opt/var/lib/xmail/MailRoot/xmail /opt/etc/init.d/S37XMail
Устанавливаем права файлу chmod +x /opt/etc/init.d/S37XMail
Меняем владельца каталога и под каталогов chown -R nobody:nobody /opt/var/lib/xmail
Устанавливаем права каталогу chmod -R 700 /opt/var/lib/xmail
Выполняем XMCrypt password (запоминаем ответ 15041616120a1701)
Приводим файл запуска /opt/etc/init.d/S37XMail к виду.
В прошивке finger запущен на 79 порту, меняем порт -Fp 1045 или выключаем совсем заменив на -F-

Скрытый текст
#!/bin/sh

XMAIL_ROOT=/opt/var/lib/xmail/MailRoot
XMAIL_CMD_LINE="-MD 22 -PX 3 -SX 3 -Qn 3 -Yt 3 -Fp 1045 -CX 3 -Ln 3"
PATH=$XMAIL_ROOT/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/bin/XMail
NAME=XMail
DESC="XMail Server"

test -f $DAEMON || exit 0

set -e
ulimit -c 10000
ulimit -s 128

start_xmail()
{
		MAIL_ROOT=$XMAIL_ROOT
		export MAIL_ROOT
		MAIL_CMD_LINE=$XMAIL_CMD_LINE
		export MAIL_CMD_LINE
		XMAIL_PID_DIR=/opt/var/run
		export XMAIL_PID_DIR 
		rm -f /opt/var/run/$NAME.pid
		$DAEMON
		while [ ! -f /opt/var/run/$NAME.pid ]
		do
				sleep 1
		done
}

stop_xmail()
{
		if [ -f /opt/var/run/$NAME.pid ]
		then
			echo `date` > $XMAIL_ROOT/.shutdown
			kill -INT `cat /opt/var/run/$NAME.pid`
			while [ -f $XMAIL_ROOT/.shutdown ]
			do
				sleep 1
			done
		fi
}


case "$1" in
	start)
			echo -n "Starting $DESC: "
			start_xmail
			echo "$NAME.[" `cat /opt/var/run/$NAME.pid` "]"
	;;
	stop)
			echo -n "Stopping $DESC: "
			stop_xmail
			echo "$NAME."
	;;
	restart|force-reload)
			echo -n "Restarting $DESC: "
			stop_xmail
			sleep 3
			start_xmail
			echo "$NAME.[" `cat /opt/var/run/$NAME.pid` "]"	
	;;
	*)
	N=/opt/etc/init.d/S37$NAME
	echo "Usage: $N {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0

 

Для отправки через /opt/bin/sendmail
Создаём каталог mkdir /opt/libexec и симлинк ln -sf /opt/bin/sendmail /opt/libexec/sendmail.xmail
Сделаем скрипт в каталоге /opt/libexec с названием sendmail.xmail.sh и симлинк ln -sf /opt/libexec/sendmail.xmail.sh /opt/sbin/sendmail

Скрытый текст
#!/bin/sh

export DEFAULT_DOMAIN="domain_name"
	if [ -z $MAIL_ROOT ];
	then
export MAIL_ROOT=/opt/var/lib/xmail/MailRoot
	fi
/opt/libexec/sendmail.xmail $*

 

Приводим файл /opt/var/lib/xmail/MailRoot/ctrlaccounts.tab к виду, где псевдоним "admin" и зашифрованый пароль XMCrypt "15041616120a1701".
Используется [TAB], а не пробел.

Скрытый текст
"admin"	"15041616120a1701"

 

Приводим файл /opt/var/lib/xmail/MailRoot/ctrl.ipmap.tab к виду

Скрытый текст
"0.0.0.0"	"0.0.0.0"	"DENY"	1
"127.0.0.1"	"255.255.255.255"	"ALLOW"	2
"192.168.1.0"	"255.255.255.0"	"ALLOW"	3

 

Приводим файл /opt/var/lib/xmail/MailRoot/smtprelay.tab к виду

Скрытый текст
"127.0.0.1"	"255.255.255.255"
"10.1.30.0"	"255.255.255.0"
"192.168.1.0"	"255.255.255.0"

 

Приводим файл /opt/var/lib/xmail/MailRoot/server.tab к виду

Скрытый текст
"RootDomain"	"domain_name"
"SmtpServerDomain"	"reverse_dns"
"POP3Domain"	"domain_name"
"HeloDomain"	"domain_name"
"PostMaster"	"root@domain_name"
"ErrorsAdmin"	"root@domain_name"

 

Приведены только нужые строки.
"domain_name" можно заегистрировать например no-ip, и mx-запись. "reverse_dns" можно посмотреть командой nslookup ip-address.
Открываем порты 25 и 110 и запускаем новенького /opt/etc/init.d/S37XMail start
Продолжение следует.

Link to comment
Share on other sites

Удаляем тестовый сервер CtrlClnt -s localhost -u admin -p пароль domaindel xmailserver.test
Прописываем свой CtrlClnt -s localhost -u admin -p пароль domainadd domain_name
Заводим пользователя CtrlClnt -s localhost -u admin -p пароль useradd domain_name Vasya пароль U
Прописываем алиасы CtrlClnt -s localhost -u admin -p пароль aliasadd domain_name root Vasya
Прописываем алиасы  CtrlClnt -s localhost -u admin -p пароль aliasadd domain_name postmaster Vasya
Смотрим список доменов CtrlClnt -s localhost -u admin -p пароль domainlist
Смотрим список пользователей CtrlClnt -s localhost -u admin -p пароль userlist
Смотрим список алиас CtrlClnt -s localhost -u admin -p пароль aliaslist

Перезапускаем /opt/etc/init.d/S37XMail restart
Можем получать и отправлять почту.
echo -e "Subject: Приветствуем вас\r\n\r\nЭто тестовое сообщение" | sendmail test@gmail.com

спасибо.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...