View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0018313||phpList 3 application||Campaign Send Process||public||24-08-16 01:00||09-05-17 21:01|
|Target Version||next minor|
|Summary||0018313: error handling of Send Process is flawed|
|Description||phpList Send Process assumes that the smtp-server will always accept the message and then expects a bounce mail to be sent, if delivery fails.|
Some smtp-servers (in my situation, the Postfix server of my hosting provider) behave different, and immediatelly do some checks.
In my situation, the domain of one email-address no longer exists -> Postfix rejects this mail with error "Recipient address rejected: Domain not found"
phpList ignores this rejection, assumes something went wrong and will indefinately keep retrying.
Proper logic would be inspect the error message.
If the error message indicates an issue with the email-address (like domain not found), then pass the email-address to the bounce-handling mechanism and don't retry this address during this campaign.
If the error message suggest a transient error (like connectivity issues) then it is oke to retry.
|Steps To Reproduce||Configure phpList to use a Postfix smtp server (assumtpion is that all postfix servers behave the same).|
Add a subscriber with an email-address that has a non-existing domain-name and add it to a list.
Send a campaign to that list
|Additional Information||https://discuss.phplist.org/t/phplist-keeps-trying-to-send-to-a-failed-address/1643 is also mentioning the same issue.|
And related, but perhaps something for a different ticket:
My configuration currently has this setting configured define('MAILQUEUE_THROTTLE', 30);
With this setting, phpList was retrying to resend that failed message "only" twice per minute.
Without this setting, my smtp account would probably temporary have become locked out by my provider, for hammering their server.
Wouldn't it make some sense to atleast wait some time before retrying failed messages?
|Tags||No tags attached.|