Sending a mail message without using smtp
i.e. via telnet

see rfc2821.txt
  1. perl -MMIME::Base64 -e 'print encode_base64("username");'
  2. perl -MMIME::Base64 -e 'print encode_base64("password");'
  3. telnet mail.xxx.com 25 or 587 or 465

    EHLO Keyword  Service Ext   
        SEND            Send
        SOML            Send or Mail     
        SAML            Send and Mail    
        EXPN   mlist    Expand         request, or expand, a mailing list
        HELP   
        TURN            Turn             
    
        MAIL
        RCPT
        DATA
        RSET
        VRFY  user@domain many servers no longer accept this 252 Administrative prohibition
        NOOP
        QUIT
        AUTH LOGIN | 
    
    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 from sending email.

    250-slmp-550-17.slc.westdc.net Hello cccu.us [209.95.59.122]
    250-SIZE 52428800
    250-8BITMIME
    250-PIPELINING
    250-PIPE_CONNECT
    250-AUTH PLAIN LOGIN
    250-STARTTLS
    250 HELP
    
    >help 214-Commands supported:
    214 AUTH STARTTLS HELO EHLO MAIL RCPT DATA BDAT NOOP QUIT RSET HELP
    
    
    
    
    

    Errors

    503 AUTH command used when not advertised : ehlo has not been received.