Joe Morris (NTM) wrote:
Sandy Drobic wrote:
Joe Morris (NTM) wrote:
Sandy Drobic wrote:
- "postconf local_header_rewrite_clients" local_header_rewrite_clients = permit_inet_interfaces
Did you send the mail directly from the pc where Postfix is running or was it sent from a pc within your network?
Directly from the computer running postfix.
What does "postconf inet_interfaces" say?
jmorris:/home/joe # postconf inet_interfaces inet_interfaces = 127.0.0.1 ::1
Okay, now the question is, what IP address of the server was used to submit the mail. If only localhost is enabled for Postfix, then it's clear that the mail could only be sent from the server itself. Or was the mail submitted with the sendmail binary via command line? It shows in your log with "postfix/pickup" as the first entry of the mail.
I just checked a 10.1 and a 9.3, and those were the same exactly. I forgot, I have upgraded the original postfix on the 9.3 box. On the 9.3 box; joe@server:~> rpm -q postfix postfix-2.3_20051106-0.1
Ah, that's a snapshot version from last year. Did you compile from source or did you use a rpm?
On the 10.1 box; joe@Sempron:~> rpm -q postfix postfix-2.2.9-10
The big difference in the configuration was that the default for local_header_rewrite_clients was changed. I would have expected Suse to change the default to "static:all" to get the previous behavior of Postfix 2.1.
Postfix isn't built with a single I-do-everything binary, instead it uses several programs to handle specific tasks. Generic is applied by the smtp client program, so it can only be used for mails which are handed to the smtp client, and the job of the smtp client is usually to send a mail out. So generic IS for outgoing mail.
At least it is used for Mails that leave the current server. If that server is used as a Mailgateway, then the definition of outgoing and incoming is only defined by the internal/external destination ip addresses, when Postfix sends the mail.
canonical on the other hand is used by the cleanup daemon which checks a mail prior to queueing it to make sure that all required headers are present and if necessary insert it. Cleanup is also the daemon that applies header/body checks, by the way.
So these checks and rewriting take place for incoming mails, before they are queued. So the different canonical databases are for incoming mail, or with mail being scanned by amavisd-new, does all mail become incoming with regard to the queue?
If the server is the final destination for a mail, then the difference is quite big. The smtp client might never be called for the incoming mail. Even with a content_filter like amavisd-new, the transport could happen via a pipe, not smtp. In that case, generic would never be used. canonical on the other hand is used when the system receives a mail. Once the mail is accepted, cleanup will examine the mail, correkt broken headers and add missing neccessary headers.
Some headers may not be present at the time cleanup is checking the mail, while generic will see all headers since it sees the mails at the time it leaves the system.
So it could be a header added later than sender_canonical but caught by generic? If that is so, then it seems to be a new thing and may result in a bug for the Yast Postfix module (i.e. MTA).
It is possible, though I don't think that should happen. The headers you showed were from a bounce message, and they were part of the body of the mail, not within the header of the mails itself. If you have a content_filter like amavisd-new, every mail will be seen by cleanup twice. Once before the content_filter, and after the content_filter sends the mail back to Postfix. So even headers added by the content_filter should be rewritten, when the mails is resubmitted from the content_filter. Sandy -- List replies only please! Please address PMs to: news-reply2 (@) japantest (.) homelinux (.) com -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org