Tôi có một máy chủ Ubuntu đang chạy postfix. Nó không phải là máy chủ mail cho miền của tôi.
Bất cứ khi nào một công việc cron chạy cho root, thư đầu ra không được gửi cục bộ, thay vào đó nó được gửi đến root@mydomain.com thông qua máy chủ thư chính. Đây không phải là điều tôi muốn.
Tôi muốn thư cho root sẽ được gửi cục bộ hoặc chuyển tiếp đến othermail@anotherdomain.com.
Tôi đã thử sửa đổi cả hai ~root/.forward
và /etc/aliases
(và chạy newaliases), nhưng không có gì giúp được (tôi đoán những tệp này chỉ được kiểm tra khi postfix cố gửi thư cục bộ).
Tôi có thể làm gì?
Đây là /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
Biên tập:
Khi gửi thư đến root, điều này sẽ đi vào /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
Tên "ct" là tên người dùng của tôi. Tôi đã tạo văn bản trên thông qua lệnh này:
echo test | mail -s test root
Nội dung của /etc/mailname
là:
mydomain.com
Nội dung của /etc/aliases
là:
root: anothermail@anotherdomain.com
postmaster: root
nơi othermail@anotherdomain.com là nơi tôi muốn chuyển tiếp thư của root.
Nội dung /etc/hosts
thực sự làm tôi ngạc nhiên một chút:
127.0.0.1 localhost
127.0.1.1 linux1.mylinux.mydomain.com linux1
trong đó "mylinux" là tên máy chủ của hệ điều hành máy chủ, trong đó linux1 chạy như một máy ảo. Tôi không chắc làm thế nào "mylinux" có trong đó. (Nhưng điều này thực sự có thể là lý do cho vấn đề của tôi?)