What I have is:

  1. Windows server generating emails with own app and sending them to relay server (2) - this works fine

  2. Relay server that sends emails received from (1) - CentOS - working fine

What I need is to additionally configure CentOS postfix to send bounce messages to Windows server (to work on them using own app on specified port). I tried to add in /etc/postfix/transport line:

test.pl        bounced:[]:29990

and run

postmap /etc/postfix/transport

but I have no idea what I should do more to make it work.

In maillog I have:

Mar  6 12:00:22 ubuntu postfix/qmgr[1633]: 9CBB260899: from=<root@ubuntu>, size=197, nrcpt=1 (queue active)
Mar  6 12:00:22 ubuntu postfix/qmgr[1633]: warning: connect to transport private/bounced: No such file or directory
Mar  6 12:00:22 ubuntu postfix/error[1744]: 9CBB260899: to=<a@test.pl>, relay=none, delay=1890, delays=1890/0/0/0.01, dsn=4.3.0, status=deferred (mail transport unavailable)
  • Do you have transport_maps = hash:/etc/postfix/transport in your main.conf? Have you restarted or reloaded postfix since making these changes? – Ladadadada Mar 6 '13 at 10:31
  • Yes, I have this line in main.cf. Yes, I've runned postfix reload. – pbies Mar 6 '13 at 10:59

In transport, you normally only have 4 options. Local, Virtual, Relay or Default. If you're going to create another, you'll need to define what it does in the master.cf file. That's why you are getting file not found errors. You've told it to send it to bounced, but not created bounced.

You should probably have a look at this to start you off in the right direction.

  • That helped me a little, but didn't give the resolution. I'll put the answer myself. – pbies Mar 6 '13 at 21:39

What have I done to make it work:

  1. Written a python script to send standard input through TCP to bounce server (fixed IP and port)
  2. Added a line to postfix master.cf file, to send bounce emails to python script:

    bounced unix - n n - - pipe user=bounce argv=/etc/postfix/mailpipe.py
  3. Added a line to /etc/services and corresponding postfix services file:

    bounced     23232/tcp           # bounce
  4. Made transport file for postfix:

    domain.com          bounced:[]:23232
  5. "Compiled" postmap transport file:

    postmap /etc/postfix/transport
  6. Made user bounce and added it to group postfix

  7. Restarted by:

    postfix reload

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.