3

I am trying to send all local mail to a single external e-mail, using Google's SMTP servers.

Using Google's SMTP servers work, as I am able to send mail to external addresses work using mail from mailutils.

The redirection of local mail to the external e-mail does not work. When sending a mail to root from my account test using:

echo "Body" | mail -s "Test Postfix To Root" root 
  • I never recieve the message
  • Nothing new turns up in /var/log/mail.err
  • This turns up in /var/log/mail.log
Sep 4 18:48:06 desktop1204test postfix/pickup[5535]: C9326EE26: uid=1000 from= Sep 4 18:48:06 desktop1204test postfix/cleanup[5702]: C9326EE26: message-id= Sep 4 18:48:06 desktop1204test postfix/qmgr[5534]: C9326EE26: from=, size=401, nrcpt=1 (queue active) Sep 4 18:48:06 desktop1204test postfix/local[5704]: C9326EE26: to=, orig_to=, relay=local, delay=0.03, delays=0.02/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox) Sep 4 18:48:06 desktop1204test postfix/qmgr[5534]: C9326EE26: removed 

My /etc/postfix/main.cf:

inet_interfaces = loopback-only mynetworks = loopback-only alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases virtual_alias_domains = localhost.localdomain virtual_alias_maps = hash:/etc/postfix/virtual relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_use_tls = yes 

My etc/aliases:

# See man 5 aliases for format postmaster: root 

My /etc/postfix/virtual:

@localhost.localdomain [email protected] 

How can I get it working? I don't want any local mail to arrive locally, they should all go to [email protected].


I tried the solution suggested in a comment below: put *: [email protected] in /etc/aliases. But did not work:

test@desktop1204test:~$ sudo newaliases test@desktop1204test:~$ cat /etc/aliases # See man 5 aliases for format postmaster: root *: [email protected] test@desktop1204test:~$ sudo newaliases test@desktop1204test:~$ sudo service postfix restart * Stopping Postfix Mail Transport Agent postfix [ OK ] * Starting Postfix Mail Transport Agent postfix [ OK ] test@desktop1204test:~$ echo "Body" | mail -s "Test Postfix To Root $(date)" root test@desktop1204test:~$ tail /var/log/mail.err test@desktop1204test:~$ tail /var/log/mail.log ...... Sep 4 22:46:12 desktop1204test postfix/master[7224]: daemon started -- version 2.9.6, configuration /etc/postfix Sep 4 22:46:23 desktop1204test postfix/pickup[7227]: 859AFF6A8: uid=1000 from=<test> Sep 4 22:46:23 desktop1204test postfix/cleanup[7235]: 859AFF6A8: message-id=<[email protected]> Sep 4 22:46:23 desktop1204test postfix/qmgr[7228]: 859AFF6A8: from=<[email protected]>, size=431, nrcpt=1 (queue active) Sep 4 22:46:23 desktop1204test postfix/local[7237]: 859AFF6A8: to=<[email protected]>, orig_to=<root@desktop1204test>, relay=local, delay=0.02, delays=0.02/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox) Sep 4 22:46:23 desktop1204test postfix/qmgr[7228]: 859AFF6A8: removed test@desktop1204test:~$ 
17
  • Related: unix.stackexchange.com/questions/5771/… Commented Sep 4, 2013 at 17:36
  • "Can I change root's email address or forward all mail to an external address?" suggested in the box on top did not help me. It suggests creating files in each users home directory. I want a catch all which works even if the user does not have a home directory. I'll check the other suggestions here in the comments. Thanks for trying to help me! Commented Sep 4, 2013 at 20:11
  • @sim: That suggests using esmtp, which I don't want to use. But thanks for trying to help! Commented Sep 4, 2013 at 20:13
  • Look at the possible duplicate one. That showed how to use the /etc/aliases file to setup forwarding. Commented Sep 4, 2013 at 20:16
  • Put in /etc/aliases this: *: [email protected] : unix.stackexchange.com/questions/65013/… Commented Sep 4, 2013 at 20:21

2 Answers 2

4

(This was answered on AskUbuntu by Pasi Suominen, a big thanks to him!)

This can be accomplished via virtual regexp (/etc/postfix/virtual-regexp)

/.+@.+/ [email protected] 

then in main.cf:

virtual_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/virtual-regexp 

and the mapfile:

postmap /etc/postfix/virtual-regexp 

That should do the trick for all local mails (otherwise you must specify all addresses on virtual)

0

To use one email forwarding for all root mail:
echo "your_email_address" >> /etc/aliases && newaliases and test with:
echo "body" | mail -s "subject" root

Now all apps mailing to root will go to your email. More info here:
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-16-04#step-3-testing-the-smtp-server

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.