У меня на сервере Ubuntu работает postfix. Это не почтовый сервер для моего домена.
Всякий раз, когда задание cron выполняется для пользователя root, выходная почта не доставляется локально, а отправляется на root@mydomain.com через главный почтовый сервер. Это не то, что я хочу.
Я хочу, чтобы почта для root либо доставлялась локально, либо пересылалась на anothermail@anotherdomain.com.
Я попытался изменить оба ~root/.forward
и /etc/aliases
(и запустить newaliases), но ничего не помогает (я думаю, что эти файлы проверяются, только когда postfix пытается доставить почту локально).
Что я могу сделать?
Это /etc/postfix/main.cf
:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = linux1.mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = linux1.mydomain.com, localhost.linux1.mydomain.com, localhost
relayhost = my.isps.relayhost.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
Редактировать:
При отправке почты в корень, это идет в /var/log/mail.log
:
Mar 7 09:39:17 linux1 postfix/pickup[31381]: F3B9C98025E: uid=1000 from=<ct>
Mar 7 09:39:18 linux1 postfix/cleanup[31556]: F3B9C98025E: message-id=<20130307083917.F3B9C98025E@linux1.mydomain.com>
Mar 7 09:39:18 linux1 postfix/qmgr[28525]: F3B9C98025E: from=<ct@mydomain.com>, size=283, nrcpt=1 (queue active)
Mar 7 09:39:18 linux1 postfix/smtp[31558]: F3B9C98025E: to=<root@mydomain.com>, orig_to=<root>, relay=my.isps.relayhost.com[<IP address omitted>]:25, delay=0.72, delays=0.19/0.02/0.27/0.25, dsn=2.0.0, status=sent (250 Ok: queued as A97F5D8126)
Mar 7 09:39:18 linux1 postfix/qmgr[28525]: F3B9C98025E: removed
Имя "ct" - это мое имя пользователя. Я сгенерировал приведенный выше текст с помощью этой команды:
echo test | mail -s test root
Содержание /etc/mailname
это:
mydomain.com
Содержание /etc/aliases
:
root: anothermail@anotherdomain.com
postmaster: root
где anothermail@anotherdomain.com - это место, куда я хочу пересылать почту root.
Содержание на /etc/hosts
самом деле меня немного удивляет:
127.0.0.1 localhost
127.0.1.1 linux1.mylinux.mydomain.com linux1
где «mylinux» - это имя хоста операционной системы, под которой linux1 работает как виртуальная машина. Я не уверен, как "mylinux" попал туда. (Но может ли это быть причиной моей проблемы?)