Add a docstring
Fix get_unique_header failing when the header is not found

message.get_all returns None, not the empty list, when no header exists.
Use get_all_headers instead (which has the sane default value).
Return 550 instead of 554 when the recipient is invalid

Apparently, Google may respond with 550 at the end of data if the
message is determined to be spam. Then we should be allowed to do so
too.