class TestEmail: e = email( subject='hi', sender='name <*****@*****.**>', receivers=['*****@*****.**'], cc=['*****@*****.**'], bcc=['*****@*****.**'], content='hi!', attachments=['tests/assets/spacer.gif'], ) def test_attrs(self): assert self.e.sender == '*****@*****.**' assert set(self.e.receivers) == set([ '*****@*****.**', '*****@*****.**', '*****@*****.**', ]) def test_headers(self): mime = mimetest(self.e.mime()) assert not mime['Bcc'] def test_content(self): mime = mimetest(self.e.mime()) assert [k.payload for k in mime.parts] == [ b'hi!', open('tests/assets/spacer.gif', 'rb').read() ]
def mime(self): envelope = email( sender='Me <*****@*****.**>', receivers=['*****@*****.**'], subject='Something', content='<p>hi</p>', attachments=['tests/assets/spacer.gif'], cc=['*****@*****.**', '*****@*****.**'], bcc=['*****@*****.**', '*****@*****.**'], encoding='ascii', ) return mimetest(envelope.mime())
def mime(self): envelope = email( sender="Me <*****@*****.**>", receivers=["*****@*****.**"], subject="Something", content="<p>hi</p>", attachments=["tests/assets/spacer.gif"], cc=["*****@*****.**", "*****@*****.**"], bcc=["*****@*****.**", "*****@*****.**"], encoding="ascii", ) return mimetest(envelope.mime())
def test_send_email_example(self, smtpserver): p = Postman(*smtpserver.addr) r = p.send(email( content='<p>Hello 世界</p>', subject='Hello world', sender='John <*****@*****.**>', receivers=['*****@*****.**'], )) assert r.ok assert len(smtpserver.outbox) == 1
def test_send_email_example(self, smtpserver): p = Postman(*smtpserver.addr) r = p.send( email( content='<p>Hello 世界</p>', subject='Hello world', sender='John <*****@*****.**>', receivers=['*****@*****.**'], )) assert r.ok assert len(smtpserver.outbox) == 1
def test_send_email_attachment(self, smtpserver): p = Postman(*smtpserver.addr) r = p.send(email( sender='Me <*****@*****.**>', receivers=['*****@*****.**'], subject='Something', content='<p>hi</p>', attachments=['tests/assets/spacer.gif'], cc=['*****@*****.**', '*****@*****.**'], bcc=['*****@*****.**', '*****@*****.**'], encoding='ascii', )) assert r.ok assert len(smtpserver.outbox) == 1 message = smtpserver.outbox[0] assert message['Content-Type'].startswith('multipart/mixed') assert message['Subject'] == 'Something' assert message['To'] == '*****@*****.**' assert message['CC'] == '[email protected], [email protected]' assert message['From'] == 'Me <*****@*****.**>'
def test_send_email_attachment(self, smtpserver): p = Postman(*smtpserver.addr) r = p.send( email( sender='Me <*****@*****.**>', receivers=['*****@*****.**'], subject='Something', content='<p>hi</p>', attachments=['tests/assets/spacer.gif'], cc=['*****@*****.**', '*****@*****.**'], bcc=['*****@*****.**', '*****@*****.**'], encoding='ascii', )) assert r.ok assert len(smtpserver.outbox) == 1 message = smtpserver.outbox[0] assert message['Content-Type'].startswith('multipart/mixed') assert message['Subject'] == 'Something' assert message['To'] == '*****@*****.**' assert message['CC'] == '[email protected], [email protected]' assert message['From'] == 'Me <*****@*****.**>'