В приложении я работаю. Я хочу получить мои сообщения электронной почты, скажем, из моей учетной записи gmail. Поэтому я настроил класс, в котором хранятся адрес электронной почты, порт, сервер и пароль.Django получает электронные письма и их приложения
Я создал функцию, где я получаю разделы Subject, Body и From, из почтовых сообщений электронной почты gmail, и я создаю резервные копии писем в резервной папке с расширением «.eml». Кроме того, у меня есть шаблон «mail-list.html», в котором отображается список с вышеуказанными заголовками и контентом. Все хорошо, пока здесь.
Теперь, как я могу получить attchment, если какое-либо сообщение, поэтому я могу показать в своем шаблоне «mail-list.html», если он есть. Этот материал с электронной почтой для меня совершенно новый, поэтому любой пример кода или даже указание на направление было бы замечательным!
Я проверил некоторые pluggins, такие как почтовый ящик django, но я хочу, чтобы это было моим последним прибежищем.
В приложении я работаю. Я хочу получить мои электронные письма, скажем, из моей учетной записи gmail. Поэтому я настроил класс, в котором хранятся адрес электронной почты, порт, сервер и пароль.
Я создал функцию, где я получаю разделы Subject, Body и From, из почтовых сообщений электронной почты gmail, и я создаю резервные копии писем в резервной папке с расширением «.eml». Кроме того, у меня есть шаблон «mail-list.html», в котором отображается список с вышеуказанными заголовками и контентом. Все хорошо, пока здесь.
Теперь, как я могу получить attchment, если какое-либо сообщение, поэтому я могу показать в своем шаблоне «mail-list.html», если он есть. Этот материал с электронной почтой для меня совершенно новый, поэтому любой пример кода или даже указание на направление было бы замечательным!
Я проверил некоторые pluggins, такие как почтовый ящик django, но я хочу, чтобы это было моим последним прибежищем.
UPDATE:
меня удалось получить вложения, как это ...
#previous code here to get subject,body etc in my function
if message.get_content_maintype() == 'multipart':
filenames_list = []
for part in message.walk():
print("part.get_content_maintype ",part.get_content_maintype())
#find the attachment part - so skip all the other parts
if part.get_content_maintype() == 'multipart': continue
if part.get_content_maintype() == 'text': continue
if part.get('Content-Disposition') == 'inline': continue
if part.get('Content-Disposition') is None: continue
#put attachments in list
filenames_list.append(filename)
print ("filenames_list",filenames_list)
#create context for template
mail_list['attachment'] = filenames_list
Так что теперь, я кладу имена файлов в списке, и использовать их в моем шаблоне I поместите их в контекст mail_list ['attachment'].
Когда имена файлов на английском языке я получаю это: [ «myessay.pdf», «test.odt»]
Но когда вложение в другом языке (например, греческий) я получаю: ['=? UTF-8? B? ZrXOs86zz4HOsc + Gzr8xLmRvYw ==? =', '=? UTF-8? B? ZrXOs86zz4HOsc + Gzr8yLmRvYw ==? =', '=? UTF-8? B? ZrXOs86zz4HOsc + Gzr8xMi5kb2M = ? = ']
Как вы можете видеть выше, в списке есть три вложения, разделенные символом «,».
Как его декодировать или закодировать? Я не знаю, что здесь уместно.
Какой почтовый сервис вы используете? –
Я использую gmail, из браузера. Он работает с любым сервисом, хотя ... Я тоже пробовал с office365. –