#NEWLINE# def mailfrom( self , address , data_size = None ) : #NEWLINE# #INDENT# 'Sends the MAIL command with the ``address`` and possibly the message\n        size. The message size is sent if the server supports the SIZE\n        extension. If the server does *not* support PIPELINING, the returned\n        reply object is populated immediately.\n\n        :param address: The sender address to send.\n        :param data_size: Optional size of the message body.\n        :returns: |Reply| object that will be populated with the response\n                  once a non-pipelined command is called, or if the server does\n                  not support PIPELINING.\n\n        ' #NEWLINE# mailfrom = Reply ( command = b'MAIL' ) #NEWLINE# self . reply_queue . append ( mailfrom ) #NEWLINE# command = b'' . join ( ( b'MAIL FROM:<' , self . _encode ( address ) , b'>' ) ) #NEWLINE# if ( ( data_size is not None ) and ( 'SIZE' in self . extensions ) ) : #NEWLINE# #INDENT# command += ( b' SIZE=' + str ( data_size ) . encode ( ) ) #NEWLINE# #UNINDENT# self . io . send_command ( command ) #NEWLINE# if ( 'PIPELINING' not in self . extensions ) : #NEWLINE# #INDENT# self . _flush_pipeline ( ) #NEWLINE# #UNINDENT# return mailfrom