diff --git a/sendmail.py b/sendmail.py index a2f8c41..3c4004e 100644 --- a/sendmail.py +++ b/sendmail.py @@ -8,13 +8,13 @@ OUTPUT_DIVIDER_BAR = "=" * len(OUTPUT_DIVIDER) def sendmail(to_addr, from_addr=None, subject=None, body=None): - msg = SendMailMessage(to_addr, from_addr=from_addr, subject=subject, body=body) + msg = Message(to_addr, from_addr=from_addr, subject=subject, body=body) msg.send() return msg -class SendMailMessage: +class Message: def __init__(self, to_addr, from_addr=None, subject=None, body=None): self.to_addr = to_addr @@ -26,8 +26,14 @@ class SendMailMessage: msg = self.encode() _run_sendmail(msg) - def encode(self, *args, **kwargs): + return self.wrap().as_bytes(*args, **kwargs) + + def __repr__(self): + return self.wrap().as_string() + + + def wrap(self): from_addr = self.from_addr if from_addr is None: from_addr = getpass.getuser() @@ -40,7 +46,7 @@ class SendMailMessage: msg["To"] = self.to_addr msg["From"] = from_addr msg["Subject"] = self.subject - return msg.as_bytes(*args, **kwargs) + return msg