see rfc2821.txt
    1. EHLO domain.tld instead of the HELO for ExtendedSMTP (as with STARTTLS ; AUTH [PLAIN|LOGIN|GSSAPI|DIGEST-MD5|MD5|CRAM-MD5) HELO
    2. 250-server hello mailserver ip address
    3. AUTH login
    4. 334 VXNlcm5hbWU6
    5. xyzxyzxyz from encoded username
    6. 334 UGFzc3dvcmQ6
    7. zbczbczbc from encoded password
    8. 235 Authentication succeeded
    9. MAIL FROM:DGermanxx@Real-World-Systems.com reversepath
    10. RCPT TO:dest@target.com forward-path
    11. DATA
      from: name@domain.tld
      subject:a subject
      a test message
      ryx
      zzx
      .
      Service Ext   EHLO Keyword
       Send             SEND
       Send or Mail     SOML
       Send and Mail    SAML
       Expand           EXPN
       Help             HELP
       Turn             TURN
    
        MAIL
        RCPT
        DATA
        RSET
        VRFY
        NOOP
        QUIT
        AUTH
    
    Headers should be sent in the order :
        Return-Path, Received, Date,  From,  Subject,  Sender, To, cc, etc.
    

    message = fields *( CRLF *text ) ; Everything after first null line is message body fields = dates ; Creation time, source ; author id & one 1*destination ; address required *optional-field ; others optional source = [ trace ] ; net traversals originator ; original mail [ resent ] ; forwarded trace = return ; path to sender 1*received ; receipt tags return = "Return-path" ":" route-addr ; return address received = "Received" ":" ; one per relay ["from" domain] ; sending host ["by" domain] ; receiving host ["via" atom] ; physical path *("with" atom) ; link/mail protocol ["id" msg-id] ; receiver msg id ["for" addr-spec] ; initial form ";" date-time ; time received originator = authentic ; authenticated addr [ "Reply-To" ":" 1#address] ) authentic = "From" ":" mailbox ; Single author / ( "Sender" ":" mailbox ; Actual submittor "From" ":" 1#mailbox) ; Multiple authors ; or not sender resent = resent-authentic [ "Resent-Reply-To" ":" 1#address] ) resent-authentic = = "Resent-From" ":" mailbox / ( "Resent-Sender" ":" mailbox "Resent-From" ":" 1#mailbox ) dates = orig-date ; Original [ resent-date ] ; Forwarded orig-date = "Date" ":" date-time resent-date = "Resent-Date" ":" date-time destination = "To" ":" 1#address ; Primary / "Resent-To" ":" 1#address / "cc" ":" 1#address ; Secondary / "Resent-cc" ":" 1#address / "bcc" ":" #address ; Blind carbon / "Resent-bcc" ":" #address optional-field = / "Message-ID" ":" msg-id / "Resent-Message-ID" ":" msg-id / "In-Reply-To" ":" *(phrase / msg-id) / "References" ":" *(phrase / msg-id) / "Keywords" ":" #phrase / "Subject" ":" *text / "Comments" ":" *text / "Encrypted" ":" 1#2word / extension-field ; To be defined / user-defined-field ; May be pre-empted msg-id = "<" addr-spec ">" ; Unique message id extension-field = Any field which is defined in a document published as a formal extension to this specification; none will have names beginning with the string "X-" user-defined-field = Any field which has not been defined in this specification or published as an extension to this specification; names for such fields must be unique and may be pre-empted by published extensions

    spamhaus.org has 173.54.41.0/20 probibited fromsending email