Hi there, in my attempts to fight the Yahoo deferred issue I posibly discovered a bug (?) in the way cPanel is saving changes to /etc/exim.conf
Let's hear some cPanel staff thoughts about my tests:
The object of my tests was to set an Exim retry rule that specifically deal with temp failures from Yahoo, making Exim retry a few times since the failure is received, bypassing the 4 days set by default. If this work, will lead obviously to reduce the queue load, avoiding lack of performance if you have heavy mailman lists (5.000+ users).
This was tested in a box running:
WHM 11.23.2 cPanel 11.23.4-S26138
CENTOS Enterprise 4.6 i686 on virtuozzo - WHM X v3.1.0
Let's review the 3 tests I did:
TEST #1
I set this retry rules in the box ABOVE the prefixed default value in the Exim Advanced Editor:
When you save the changes, everything is reported to be ok, although there is no reference in the summary of changes to the new retry rules being set.
After it, if I open the /etc/exim.conf, I'm not seeing the new rules recorded inside.
Let's test if the rules are working as expected:
NOT PASSED!
TEST #2
I set this retry rules in the box BELOW the prefixed default value in the Exim Advanced Editor:
When you save the changes, everything is reported to be ok, although there is no reference in the summary of changes to the new retry rules being set.
After it, if I open the /etc/exim.conf, I positively see the new rules recorded inside, BELOW the default values.
Let's test if the rules are working as expected:
NOT PASSED!
TEST #3
Well, forgot the editor! Let's do it directly writing on the conf file!
Reading the Exim online docs about rules, you'll learn that Exim obeys to the FIRST OCURRENCE of a given rule. Considering that the default value is
we know that this will apply to ALL THE MAIL BEING SENT.
So, I'll paste retry rules ABOVE the default value in /etc/exim.conf
Save the changes. Let's test if the rules are working as expected:
PASSED!
(If you go now to the Exim Advanced Editor at WHM, it won't show you these rules although they are phisically present in the exim.conf file)
What this tests check is that the Exim Advanced Editor needs to be reviewed and correct this behaviour since it is not allowing to record rules in the way it should.
BTW, while this is not fixed, these settings must be retyped by hand at exim.conf.
The Exim online docs I readed are:
Any thoughts?
May this behaviour be fixed?
Best regards and thank you for your time.
Let's hear some cPanel staff thoughts about my tests:
The object of my tests was to set an Exim retry rule that specifically deal with temp failures from Yahoo, making Exim retry a few times since the failure is received, bypassing the 4 days set by default. If this work, will lead obviously to reduce the queue load, avoiding lack of performance if you have heavy mailman lists (5.000+ users).
This was tested in a box running:
WHM 11.23.2 cPanel 11.23.4-S26138
CENTOS Enterprise 4.6 i686 on virtuozzo - WHM X v3.1.0
Let's review the 3 tests I did:
TEST #1
I set this retry rules in the box ABOVE the prefixed default value in the Exim Advanced Editor:
Code:
* rcpt_4xx F,6h,15m; F,1d,1h
* timeout_connect F,6h,15m
After it, if I open the /etc/exim.conf, I'm not seeing the new rules recorded inside.
Code:
# exim -brt yahoo.com timeout_connect
Retry rule: * * F,2h,15m; G,16h,1h,1.5; F,4d,8h;
# exim -brt yahoo.com rcpt_451
Retry rule: * * F,2h,15m; G,16h,1h,1.5; F,4d,8h;
TEST #2
I set this retry rules in the box BELOW the prefixed default value in the Exim Advanced Editor:
Code:
* rcpt_4xx F,6h,15m; F,1d,1h
* timeout_connect F,6h,15m
After it, if I open the /etc/exim.conf, I positively see the new rules recorded inside, BELOW the default values.
Code:
# exim -brt yahoo.com timeout_connect
Retry rule: * * F,2h,15m; G,16h,1h,1.5; F,4d,8h;
# exim -brt yahoo.com rcpt_451
Retry rule: * * F,2h,15m; G,16h,1h,1.5; F,4d,8h;
TEST #3
Well, forgot the editor! Let's do it directly writing on the conf file!
Reading the Exim online docs about rules, you'll learn that Exim obeys to the FIRST OCURRENCE of a given rule. Considering that the default value is
Code:
* * F,2h,15m; G,16h,1h,1.5; F,4d,8h
So, I'll paste retry rules ABOVE the default value in /etc/exim.conf
Code:
* rcpt_4xx F,6h,15m; F,1d,1h
* timeout_connect F,6h,15m
Code:
# exim -brt yahoo.com timeout_connect
Retry rule: * timeout_connect F,6h,15m;
# exim -brt yahoo.com rcpt_451
Retry rule: * * F,6h,15m; F,1d,1h;
(If you go now to the Exim Advanced Editor at WHM, it won't show you these rules although they are phisically present in the exim.conf file)
What this tests check is that the Exim Advanced Editor needs to be reviewed and correct this behaviour since it is not allowing to record rules in the way it should.
BTW, while this is not fixed, these settings must be retyped by hand at exim.conf.
The Exim online docs I readed are:
- Exim command line: http://www.exim.org/exim-html-current/doc/html/spec_html/ch05.html
- Retry configuration: http://www.exim.org/exim-html-current/doc/html/spec_html/ch32.html
Any thoughts?
May this behaviour be fixed?
Best regards and thank you for your time.