Я пытаюсь извлечь cc'ed адреса электронной почты из полученного письма.Я работаю на сервере разработки.
В учебнике написано, что "cc содержит список получателей cc".Но похоже, что message.cc
возвращает строку.Я просто использую код, который я скопировал из поваренной книги:
class ReceiveEmail(InboundMailHandler):
def receive(self, message):
logging.info("Received email from %s" % message.sender)
plaintext = message.bodies(content_type='text/plain')
for text in plaintext:
txtmsg = ""
txtmsg = text[1].decode()
logging.info("Body is %s" % txtmsg)
logging.info("CC email is %s" % message.cc)
Так что, если у меня есть 1 куб. См, журнал показывает:
CC email is cc12@example.com
Если естьбольше чем 1:
CC email is cc12@example.com, cc13@example.com
Чтобы получить первое электронное письмо "cc12@example.com", я попытался:
logging.info("CC email is %s" % message.cc[0])
, но это дает:
CC email is c
, поэтому результат обрабатывается как строка.
Когда я пытаюсь
logging.info ("CC email is% s"% list(message.cc)
Я получаю
['c', 'c', '1', '2', '@', 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', ',', ' ', 'c', 'c', '1', '3', '@', 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', ',', ' ', 'c', 'c', '1', '4', '@', 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm'
Опять же, похоже, что message.cc
возвращает строку, а не список.
Нужно ли использовать регулярное выражение для полученияписьма? Есть предложения о том, что я делаю не так? Спасибо!