So I've set up a postfix email server, I can send, I can receive. But I noticed some interesting activity in my logs. I was testing an accidentally sent to a non-existent email address, now the mailserver on the other domain is trying (without giving up) to deliver the failed delivery notification.

For this example, my domain name is example.com the domain I sent the email to is example.net I sent an email out to an address that is invalid. Of course, the example.net mail server says, "hey this address doesn't exist" and wants to return an email to me saying that this address doesn't exist. Here is the log

Jan 27 08:50:37 UBUNTU-SRV postfix/smtpd[10508]: connect from remote.example.net[]
Jan 27 08:50:37 UBUNTU-SRV postfix/smtpd[10508]: NOQUEUE: reject: RCPT from remote.example.net[]: 450 4.1.1 "bounce+c84d9c.323b2-invalidaddress=example.net@example.com": Recipient address rejected: User unknown in local recipient table; from=<> to= "bounce+c84d9c.323b2-invalidaddress=example.net@example.com" proto=ESMTP helo= "mail.otherdomain.local"
Jan 27 08:50:37 UBUNTU-SRV postfix/smtpd[10508]: disconnect from remote.example.net[]

My hunch is that my server says, "does 'bounce+c84d9c.323b2-invalidaddress=example.net@example.com' have a user account?" the answer obviously is no, so then it rejects. These logs have been running about every minute for a day now.

Any ideas to either get this email put in the right box or at minimum route all these things to a dir on my box for now?


The remote server behave according to SMTP specification RFC 2821 especially in section 4.2.1. Because you reject with code 450 then remote server will retry to send it until the queue expired. Quote from the RFC

4yz Transient Negative Completion reply

The command was not accepted, and the requested action did not occur. However, the error condition is temporary and the action may be requested again. The sender should return to the beginning of the command sequence (if any). It is difficult to assign a meaning to "transient" when two different sites (receiver- and sender-SMTP agents) must agree on the interpretation. Each reply in this category might have a different time value, but the SMTP client is encouraged to try again. A rule of thumb to determine whether a reply fits into the 4yz or the 5yz category (see below) is that replies are 4yz if they can be successful if repeated without any change in command form or in properties of the sender or receiver (that is, the command is repeated identically and the receiver does not put up a new implementation.)

Now the problem is your server was configured so it gives reply code 450 temporary reject instead 550 permanent reject.

Since you haven't share postfix configuration, then we can't pinpoint which config that caused that behavior. You can start examine these parameters below and checks that that parameter show in output of postconf -n.

  • Great answer - I'm still learning on the mail server front. Had soft_bounce set to yes. This is fine for now but I would like to route undeliverable notifications properly back to the original sending account, however that wasn't the goal of the original question. :) thank you! – Jacob Jan 28 '15 at 4:08

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.