Загрузка вложений из почтового ящика Gmail через скрипт Python - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь получить вложения из моей учетной записи Gmail.Я пробую несколько примеров кода, но все они возвращают: «Не удалось войти!»Я не могу войти на сервер IMAP по какой-то причине.

импорт электронной почты импорт imaplib import os

class FetchEmail():

    connection = None
    error = None

    def __init__(self, mail_server, username, password):
        self.connection = imaplib.IMAP4_SSL(imap.gmail.com)
        self.connection.login('test9484@gmail.com', '0562236632')
        self.connection.select(readonly=False) # so we can mark mails as read

    def close_connection(self):
        """
        Close the connection to the IMAP server
        """
        self.connection.close()

    def save_attachment(self, msg, download_folder="/tmp"):
        """
        Given a message, save its attachments to the specified
        download folder (default is /tmp)

        return: file path to attachment
        """
        att_path = "No attachment found."
        for part in msg.walk():
            if part.get_content_maintype() == 'multipart':
                continue
            if part.get('Content-Disposition') is None:
                continue

            filename = part.get_filename()
            att_path = os.path.join(download_folder, filename)

            if not os.path.isfile(att_path):
                fp = open(att_path, 'wb')
                fp.write(part.get_payload(decode=True))
                fp.close()

Что было сделано:

  • Включен менее безопасный доступ
  • Включен IMAP - Возможно, вам потребуетсявведите пароль приложения вместо обычного пароля.
  • Войдите в свою учетную запись из веб-версии Gmail по адресу https://mail.google.com.. После входа попробуйте снова войти в почтовое приложение..
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...