PMDF System Manager's Guide


Previous Contents Index

33.4.8 Messages are Looping

If PMDF detects that a message is looping, that message will be sidelined as a .HELD file; see Section 33.4.7 for a discussion. But certain cases can lead to message loops which PMDF can not detect. Some of the more common cases include:

  1. A postmaster address is broken.
  2. Stripping of Received: headers is preventing PMDF from detecting the message loop.
  3. Incorrect handling of notification messages by other mail systems, that are generating reencapsulated messages in response to notification messages.

The first step in dealing with looping messages is to determine why the messages are looping. Useful things to look at are a copy of the problem message file while it is in the PMDF queue area, PMDF mail log entries (if you have the logging channel keyword enabled in your PMDF configuration file for the channels in question) relating to the problem message, and PMDF channel debug log files for the channels in question. Determining the From: and To: addresses for the problem message, seeing the Received: headers, and seeing the message structure (type of encapsulation of the message contents), can all help pinpoint which sort of message loop case you are encountering.

For case (1), note that mail systems such as PMDF require that the postmaster address be a functioning address that can receive e-mail. If a message to the postmaster is looping, check that your configuration has a proper postmaster address pointing to an account that can receive messages.

For case (2), note that normal detection of message loops is based on various Received: headers. If Received: headers are being stripped---either explicitly on the PMDF system itself, or more likely on some other system such as a firewall---that interferes with proper detection of message loops. There will likely be two issues to resolve: check that no undesired stripping of Received: headers is occurring so that if a loop does occur it can be short-circuited, and check for the underlying reason why the messages were looping. Possible underlying reasons for the occurrence of the message loop in the first place include: a problem in the assignment of system names or a system not configured to recognize a variant of its own name, a DNS problem, a lack of authoritative addressing information on the system(s) in question, or a user address forwarding error.

For case (3), note that Internet standards require that notification messages (reports of messages being delivered, or messages bouncing) have an empty envelope From: address to prevent message loops. However, some mail systems do not correctly handle such notification messages; such mail systems can, when forwarding or bouncing such a notification message, insert a new envelope From: address of their own. This can then lead to message loops. The solution is to fix the mail system that is incorrectly handling the notification messages.


Previous Next Contents Index