I've been doing some further testing of the problems with sending notification (and other) emails expierenced by Alienhand and many others of later versions of Xoops.
I've tested four systems:
xoops 2.0.? : xoops.org
xoops 2.0.6 : djvf.dk
xoops 2.0.14: tegneserielogen.dk
xoops 2.0.14: mathecon.dk
Both xoops.org and djvf.dk uses phpmailer 1.65, and the others uses phpmailer 1.73. (As stated in the X-Mailer: mail header).
The error I've noticed has to do with the headers of the send email. (More details further down).
I found that the error isn't present on neither xoops.org nor djvf.dk, but the other two sites are both showing signs of the error. And one is seriously affected by it.
Since djvf.dk and tegneserielogen.dk is both running on the same server, I've concentrated on that one to try to do some crude debugging.
I simply tried to exchange the 1.65 and the 1.73 version of phpmailer to see if the error would move. Nothing happend.
Then I also tried to exchange the xoopsmultimailer, but again the error persisted.
So now I'm wondering where else the difference can be hidden. Perhaps the notification system, but it's harder for me to trace.
Well, it's time to go into some more details about the error, and why it's working for some and not for others.
To help, I've extracted some header information from notification emails send from the four systems:
(Slightly edited, to prevent spam)
Quote:
The important part to notice here, is the
Return-Path. The general rule is that it should be equal to the sender, but as you can see, it's not the case in three out of four of the above.
I won't try to explain the contents for xoops.org, but it appears to be working so never mind.
tegneserielogen.dk and mathecon.dk on the other hand are quiet interesting. Where did the postmaster@ come from?
I checked all files in the XOOPS instalation and the database, but it's not there.
Then I started searching the web, only to find out that php's mail() function (in combination with sendmail) sometimes will insert this address if the return-path isn't allready filled by the script.
Bummer.
Why isn't the return-path allready set? (I still haven't found out.)
The header problems in turn, gives some more serious problems.
Of the two affected sites above, one is very lightly affected, and the other is very heavy affected.
tegneserielogen.dk is very lightly affected. The only real proof that it's affected is the warning thats inserted into the emails headers.
Mathecon.dk, on the other hand, is very heavy affected. Only one email every five (5) minutes is send.
It turns out the web-provider has a very sensitive smap-filter active. If it senses a mail that appears like spam, it will disable/disrupt the scripts (in this case phpmailer) access to send emails for 5 minutes. On other words, if a script is decleared to be a spam-sender, only the first email is send - all other emails from that script for the next five minutes is trashed!!!
One of the spam-triggers is if the return-path isn't filled with a vaild email-address, and since
postmaster@mathecon.dk does not exists, it's not valid.
Well. Now we "just" need to find a fix for this.
Please help.