#NEWLINE# def _command_DATA( self , arg ) : #NEWLINE# #INDENT# if arg : #NEWLINE# #INDENT# bad_arguments . send ( self . io ) #NEWLINE# return #NEWLINE# #UNINDENT# if ( ( not arg . have_mailfrom ) or ( not self . have_rcptto ) ) : #NEWLINE# #INDENT# bad_sequence . send ( self . io ) #NEWLINE# return #NEWLINE# #UNINDENT# reply = Reply ( '354' , 'Start mail input; end with <CRLF>.<CRLF>' ) #NEWLINE# self . _call_custom_handler ( 'DATA' , reply ) #NEWLINE# reply . send ( self . io , flush = True ) #NEWLINE# self . _check_close_code ( reply ) #NEWLINE# if ( reply . code == '354' ) : #NEWLINE# #INDENT# self . _get_message_data ( )