Робота з пошту

Протокол POP3

Завантажує листи на локальний комп'ютер і видаляє їх з сервера

import poplib

# Облікові дані для входу
username = 'your_email@example.com'
password = 'your_password'

# Підключення до поштового сервера Gmail
pop3_server = 'pop.gmail.com'
mailbox = poplib.POP3_SSL(pop3_server, 995)

# Вхід у поштову скриньку
mailbox.user(username)
mailbox.pass_(password)  # Використовуємо pass_ для уникнення конфлікту з ключовим словом pass в Python

# Отримання інформації про поштову скриньку
num_messages = len(mailbox.list()[1])
print(f"Кількість листів: {num_messages}")

# Приклад: Читання останнього листа
if num_messages > 0:
    response, lines, octets = mailbox.retr(num_messages)
    message = '\n'.join(line.decode('utf-8') for line in lines)
    print("Вміст останнього листа:")
    print(message)

# Закриття з'єднання
mailbox.quit()

Відправляємо пошту SMTP

import smtplib

# Облікові дані для входу
smtp_server = 'smtp.gmail.com'
smtp_port = 587
username = 'your_email@gmail.com'
password = 'your_app_password'  # Використовуйте пароль додатка

# Адреси відправника і одержувача
from_addr = 'your_email@gmail.com'
to_addr = 'recipient@example.com'

# Тема і тіло листа
subject = 'Тема листа'
body = 'Це текст листа.'

# Формування повідомлення у форматі строки
message = f"From: {from_addr}\nTo: {to_addr}\nSubject: {subject}\n\n{body}"

try:
    # Підключення до SMTP-сервера
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()  # Захищене з'єднання

    # Аутентифікація
    server.login(username, password)

    # Відправка повідомлення
    server.sendmail(from_addr, to_addr, message)
    print("Лист успішно відправлено!")
except Exception as e:
    print(f"Помилка при відправці листа: {e}")
finally:
    # Закриття з'єднання
    server.quit()
2015-2026 © SumyNikNet