1. a good reason for a 4xx after data could be that during the sending
of a long message the disk of the server has been filled by another
process.
2. To avoit whitelisting i now use another option.
Before the actual message i send a dummy one, with just one line of
message "see next one" .
Then i write the message, then when i send my server has been whitelisted
...
If someone expecially on lists) complains about that, i tell himm that to
avoid this he should ungreylist me.