postfix
Что такое postfix
? Если ответить коротко, то postfix
- это MTA (Mail Transfer Agent).
Подробнее о postfix можно узнать на http://www.postfix.org
Ниже описан процесс инсталляции и конфигурации.
Соберем postfix
:
# cd /usr/ports/mail/postfix # make all installВНИМАНИЕ! Если вы ХОТИТЕ использовать
postfix
вместо sendmail
сделайте:
# make replace
postfix
будет добавлен пользователь postfix
.
Если вы использовали sendmail
, замените строку в /etc/rc.conf
с
sendmail_enable="YES"
на sendmail_enable="NO"
и после этого напишите
/usr/local/etc/rc.d/postfix.sh
(как это сделать описано ниже)
Напишем конфигурационные файлы:
# /usr/local/etc/postfix/main.cf # Config file for postfix mail system. # queue_directory = /var/spool/postfix command_directory = /usr/local/sbin daemon_directory = /usr/local/libexec/postfix mail_owner = postfix default_privs = nobody myhostname = yourhost.yourdomain.com mydomain = yourdomain.com mynetworks = 192.168.1.0/24, 127.0.0.0/8 myorigin = $mydomain inet_interfaces = $myhostname, localhost mydestination = $myhostname, localhost.$mydomain, $mydomain default_transport = smtp alias_database = hash:/etc/aliases mailbox_command = /usr/local/bin/procmail smtpd_banner = $myhostname ESMTP READY smtpd_client_restrictions = permit_mynetworks, reject_unknown_client smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_non_fqdn_sender, reject_invalid_hostname smtpd_recipient_restrictions = permit_mynetworks, permit_mx_backup, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, check_relay_domains, reject_unknown_client, reject local_destination_concurrency_limit = 2 default_destination_concurrency_limit = 10 debug_peer_level = 2 debugger_command = PATH=/usr/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5Сохраним этот файл как
/usr/local/etc/postfix/main.cf
ВНИМАНИЕ! yourhost.yourdomain.com
следует сменить на имя
вашего хоста, yourdomain.com
на имя вашего домена, если у
вас есть доступ на relay
вашего провайдера, то вам следует добавить
строку в /usr/local/etc/postfix/main.cf
:
relayhost = relay1.yourprovider.comгде
relay1.yourprovider.com
и есть relay
вашего провайдера.
ВНИМАНИЕ! В параметре mynetworks
следует указать ваши реальные сети.
ВНИМАНИЕ! Все конфигурационные файлы postifix
находятся в /usr/local/etc/postfix
.
Напишем /usr/local/etc/postfix/master.cf
:
# /usr/local/etc/postfix/master.cf # #========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (50) # #========================================================================== smtp inet n - y - - smtpd pickup fifo n n n 60 1 pickup cleanup unix - - n - 0 cleanup qmgr fifo n - n 300 1 qmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce smtp unix - - n - - smtp showq unix n - n - - showq local unix - n n - - local cyrus unix - n n - - pipe flags=R user=cyrus argv=/cyrus/bin/deliver -e -q -m ${extension} ${user} uucp unix - n n - - pipe flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
Сохраним этот файл как/usr/local/etc/postfix/master.cf
Напишем скрипт для запуска
postfix
из/usr/local/etc/rc.d
:
#!/bin/sh [ -x /usr/local/sbin/postfix ] && /usr/local/sbin/postfix start && echo -n ' postfix'Сохраним скрипт в файле/usr/local/etc/rc.d/postfix.sh
Сделаем его выполняемым:# chmod 500 /usr/local/etc/rc.d/postfix.shУстановимprocmail
для локальной доставки почты:# cd /usr/ports/mail/procmail # make all installИ, наконец, запускаемpostfix
:# /usr/local/sbin/postfix start
Некоторое время следует последить за работойpostfix
, периодически заглядывая в/var/log/maillog
:# tail -f /var/log/maillog