Catalog PyPI
Back to packageRELEASE DETAILS

1.1

PyPI

adfsmail

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

Published1 Mar 2024
Direct dependencies4
Transitive dependenciesNot calculated

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.

Declared dependencies 4

Native requirements
4 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
lxml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
lxmlruntime
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
requestsruntime
requests-ntlm
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
requests-ntlmruntime
websocket-client
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": "",
  "evaluation": "NOT_EVALUATED"
}
websocket-clientruntime

Distribution files

1 collected
adfsmail-1.1-py3-none-any.whl

bdist_wheel · 12.78 KB · Python py3

Source file

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_version:6cc8d3c78326f0c71fb386eedd8545a7df0db85641577c3154bb92b78ef5a59b

Other collected versions

View all collected versions →