[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

zmailer is driving me friggin' crazy!

I had some free time today, so I decided that I would look into a couple of 
problems that I have had with zmailer for pretty much ever (yes, I have 
asked before for help but the responses either don't address the problem or 
lead to useless results).

What started out as a day to digging deep into the cf scripts and try to 
learn the exact rational of how and why they work has turned into a day of 
total frustration and I am about ready to break a keyboard or two!

I started out by fixing the patch to aliases.cf to allow zmailer to see and 
route messages to mailman lists (thanks Jeff Warnica!). This ended up being 
a dumb error on my part (path for the mailman wrapper was wrong) and once 
fixed it has worked very well. Well after having that success, I decided to 
work on an extension to Jeff's code. The majority of my mailman lists are 
prefixed with a portion of the domain name. So right now the users use the 
address moac-climbing@moac.org and I would rather have them use 
climbing@moac.org. So I started looking into what other variable are known 
about in the aliases.cf file during runtime.

Well, that send me down a big endless rat hole. In the process, I started 
looking into zmailer insists on changing the host portion of an address for 
any email address that is received on the system. In other words, any email 
that I send is sent as hickey@kernelrom.com from my mail client and zmailer 
changes the From: header on the outgoing message to 
hickey@mail.kernelrom.com. It does exactly the same thing to the To: header 
on all of my received mail.

Now, I can live with this (I really don't like it). Unfortunately, zmailer 
does the same thing for all the virtual domains that I have here. So when a 
message is sent to moac-climbing@moac.org, zmailer changes this to 
moac-climbing@mail.kernelrom.com. Which is obviously just wrong! It works 
because zmailer handles both domains on the same machine, but it is still 
just wrong. In my opinion, zmailer should not be changing any of the mail 
addresses in the envelop.

>From what I can gather from my day of debugging, is that this change is 
being introduced from the canonical function. If I understand thing 
correctly canonical is actually doing things right by rewriting the address 
with the next host that the message should be routed to. This make sense, 
but where and why does this value get back into the message's envelop? It 
seems that it would be in crossbar.cf, but I just don't see it. HELP!

Also in debugging what was happening, I started printing out the entry to a 
few routines. Here is a sample of what I was getting.

rrouter(): address=hickey@kernelrom.com, origaddr=hickey@kernelrom.com, 
A=g1, plustail=, domain=
rrouter(): address=hickey, origaddr=hickey@kernelrom.com, A=g1, plustail=, 
routeruser: quad=, plustail=, domain=@mail.kernelrom.com
rrouter(): address=hickey@kernelrom.com, origaddr=hickey@kernelrom.com, 
A=g2, plustail=, domain=
rrouter(): address=hickey, origaddr=hickey@kernelrom.com, A=g2, plustail=, 
routeruser: quad=, plustail=, domain=@mail.kernelrom.com
Checking mailman lists: /local/mailman/lists/hickey/
crossbar(): from=, to=

This was from a message I sent myself. A couple of questions.

    1. What the hell is plustail? I see it all over the place, but there 
are no comments to describe what is placed in it or when it is used.
    2. What is the rational of calling routeruser without any parameters 
other than the domain? And is it being called with the correct value?
    3. Just the same, why call crossbar without any parameters?

OK, I am done for now. I think I am going to do something fun for a while 
like perform dental work on my own teeth! :-)
Gerard Hickey <hickey@kernelrom.com>/Jabber: unixgeek@jabber.kernelrom.com

To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to majordomo@nic.funet.fi