jaxklag - 2008-02-22

I have noticed that not all the vacation notifications were delivered to sender.

Analising debug log of vacation.pl script i could see that it does not work when $from doesn't contain ""

I have added in vacation.pl the line below to see the value of the $from variable

$from = lc ($from);
do_debug("from = $from"); -> this is the line i've added
if (!Email::Valid->address($from)) { do_debug("Invalid from email address: $from; exiting."); exit(0); }

Then in my debug log, i could see that when the $from variable doesn't contain " the condition (if (!Email::Valid->address($from)) { do_debug("Invalid from email address: $from; exiting."); exit(0); }) doesn't work :

Exemple 1
Invalid from email address: gdid@test.gdid.com <gdid@test.gdid.com>; exiting. -> error because no quote between gdid@test.gdid.com

Example 2
from = "informatique@test.gdid.com" <informatique@test.gdid.com> -> succeed

We can see it's not a problem of DNS resolution because the mail addresses are on the same domain

How to force the quote to be present before Email::Valid evaluation ?