Catalog PyPI
PACKAGE EXPLORERView in registry

adfsmail

PyPI

Библиотека для работы с почтой ADFS

Versions collected1
Direct dependencies4From release 1.1
Last observed20 Oct, 19:28 UTC

README

Version 1.1 documentation

Библиотека AdfsMail

Обзор

AdfsMail — это библиотека Python для взаимодействия с электронными почтовыми сервисами, предоставляющая простой способ доступа и управления электронной почтой внутри VPN или извне с использованием многофакторной аутентификации (MFA). Библиотека поддерживает базовые операции с электронной почтой, такие как получение писем, доступ к метаданным писем и работа с вложениями.

Установка

Перед установкой AdfsMail убедитесь, что на вашей системе установлен Python. Установить AdfsMail можно с помощью pip:

pip install adfsmail

Использование

Внутри VPN

Для использования AdfsMail внутри VPN инициализируйте класс AdfsMail с вашим адресом электронной почты, паролем и доменом.

from adfsmail import AdfsMail

mail = AdfsMail(
    'user@domain.ru',
    'password',  # Замените на ваш реальный пароль
    'domain.ru'
)

Вне VPN с использованием многофакторной аутентификации

При доступе к почтовому сервису извне VPN используйте AdfsMailMFA для обработки многофакторной аутентификации.

from adfsmail import AdfsMailMFA

mail = AdfsMailMFA(
    'user@domain.ru',
    'password',  # Замените на ваш реальный пароль
    'domain.ru'
)

Получение писем

Получение первых 25 писем со своего ящика:

m = mail.get_mail()

Чтобы получить следующие 30 писем, укажите параметры offset (пропустить первые 25) и max_return (получить 30 сообщений):

m2 = mail.get_mail(offset=25, max_return=30)

Получение словаря доступных spa-ящиков:

spa = mail.get_available_spa()

Получение словаря доступных папок spa-ящика:

fold = mail.get_available_folders('spa@domain.ru')

Получение первых 25 писем со spa-ящика папки 'Входящие':

m_spa = get_mail_spa('spa@domain.ru', 'Входящие')

Операции с письмами

Вы можете выполнять различные операции с полученными письмами, такие как получение информации об отправителе, получателях, теме, теле письма, дате и времени, а также работать с вложениями.

Получить информацию об отправителе

# m[0] - первое письмо из списка
sender = m[0].get_from()

Получить информацию о получателях

recipients = m[0].get_to()

Получить тему письма

subject = m[0].get_subject()

Получить тело письма

body = m[0].get_body()  # Обычно html

Получить дату и время получения письма

datetime_received = m[0].get_datetime()

Получить вложения

attachments = m[0].get_attachments()

Получить имя файла вложения

# m[0].get_attachments()[0] - первое вложение письма
attachment_filename = m[0].get_attachments()[0].get_filename()

Сохранить вложение в указанный путь

m[0].get_attachments()[0].save('path/to/save/file.xl')

Получить количество вложений

attachments_count = m[0].get_attachments_count()

Справочник API

В классах AdfsMail и AdfsMailMFA доступны следующие методы:

  • get_mail(offset=0, max_return=25): Получает список писем, начиная с указанного offset и до max_return числа писем.
  • get_from(): Возвращает отправителя письма.
  • get_to(): Возвращает список получателей письма.
  • get_subject(): Возвращает тему письма.
  • get_body(): Возвращает тело письма.
  • get_datetime(): Возвращает дату и время получения письма.
  • get_attachments(): Возвращает список вложений в письме.
  • get_attachments_count(): Возвращает количество вложений в письме.

Каждый объект вложения имеет следующие методы:

  • get_filename(): Возвращает имя файла вложения.
  • save(save_path): Сохраняет вложение по указанному пути.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.11 Mar 20244

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:28 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:ef90f7e9e7f7fd9b73b310e41b933b4040b72176b1a941546ce576ee214d35e5