diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index 7c39887..be1797f 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -241,12 +241,13 @@
         This does not follow the procedure from the RFC to send Telnet
         IP and Synch; that doesn't seem to work with the servers I've
         tried.  Instead, just send the ABOR command as OOB data.'''
-        line = 'ABOR' + CRLF
+        line = b'ABOR' + B_CRLF
         if self.debugging > 1: print('*put urgent*', self.sanitize(line))
         self.sock.sendall(line, MSG_OOB)
         resp = self.getmultiline()
         if resp[:3] not in {'426', '225', '226'}:
             raise error_proto(resp)
+        return resp
 
     def sendcmd(self, cmd):
         '''Send a command and return the response.'''
@@ -781,6 +782,15 @@
                 conn.close()
             return self.voidresp()
 
+        def abort(self):
+            # overridden as we can't pass MSG_OOB flag to sendall()
+            line = b'ABOR' + B_CRLF
+            self.sock.sendall(line)
+            resp = self.getmultiline()
+            if resp[:3] not in {'426', '225', '226'}:
+                raise error_proto(resp)
+            return resp
+
     __all__.append('FTP_TLS')
     all_errors = (Error, IOError, EOFError, ssl.SSLError)
 
