Hi Eli! Here's an idea:
It seems class smtplib.SMTP sends the message with method 'send', that calls a socket's 'sendall' (from Python 2.4's smtplib.py) def send(self, str): """Send `str' to the server.""" # .. skipping self.sock.sendall(str) # .. skipping You could subclass smtplib.SMTP, and reimplement method 'send' using Socket.send instead of Socket.sendall to send chunks, and do whatever you want then. For example, you could call a callback with the bytes sent: def send(self, str, chunk_size=512, callback=lambda bytes_sent: None): """Send `str' to the server.""" # .. skipping bytes_sent = 0 while bytes_sent < len(str): chunk = str[bytes_sent:bytes_sent+chunk_size] bytes_sent += self.sock.send(chunk) callback(bytes_sent) # .. skipping I haven't tested it, but it seems about right. Ori. Eli Golovinsky wrote: > I am sending large email messages (with MIME parts) using this recipe : > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/473810 > > > But I can't find any way to monitor the progress (i.e. how many bytes > have been delivered until now) of the sending. > > > Anybody has an idea how I can accomplish that? > > > >