Skip to content

NightQnEarth/SmtpClient

Repository files navigation

SmtpClient

Консольное приложение для отправки электронной почты.

Необходим интерпретатор Python версии не ниже, чем 3.6

Параметры запуска (ключи) приложения

  • --help [-h] - Справка по использованию программы.
  • sender_email - Обязательным позиционным аргументом вводится адрес электронной почты отправителя.
  • --server-port [-s] - Обязательным именнованным аргументом вводится адрес SMTP-сервера и, при необходимости через двоеточие номер его SSL-шифрованного порта (по умолчанию порт равен 465).
    Примеры: -s smtp.gmail.com:999 или -s smtp.gmail.com
  • --mail-topic [-t] - Необязательным именнованным аргументом вводится тема письма.
  • --zip [-z] - Необязательным именнованым флаг-параметром принимается --zip, в том случае, если вы хотите отправить все вложения одним архивом.
  • --debug [-d] - Необязательным именнованным флаг-параметром принимается --debug, в том случае, если вы хотите видеть процесс взаимодействия клиента с сервером.
  • --attach - Необязательным именнованным параметром принимается полный путь до файла, который вы хотите прикрепить к сообщению. В двойных квадратных скобках можно указать имя, с которым файл будет отправлен:
    --attach filename.txt [[new filename.txt]]
  • --attaches - Необязательным именнованным параметром принимается строка с путями до файлов, которые вы хотите прикрепить (пути не должны содержать пробелов):
    --attaches filename1.txt filename2.txt filename3.txt
  • --open-sending [-o] - Необязательным именнованым флаг-параметром принимается --open-sending, в том случае, если требуется, чтобы каждый получатель видел других получателей данного письма.
    По умолчанию получатели не видят друг-друга.
  • --max-size - Необязательным именнованным параметром принимается целое число - максимальный размер вложения письма.
    В случае, если есть несколько файлов, сумма размеров которых больше --max-size, но по отдельности их размер удовлетворяет условию, файлы будут отправлены несколькими сообщениями. Если есть файл, размер которого больше --max-size, файл будет разбит на части удовлетворяющие условию и отправлен по частям.
    Значение --max-size указывается в килобайтах.
  • --mail-to [-m] - Обязательным именнованным параметром принимается строка, содержащая почтовые адреса получаетелей сообщения:
    --mail-to [email protected] [email protected]
    ... или полный путь до файла, в начале каждой строки которого содержится один почтовый адрес получателя:
    --mail-to @filename.txt

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

(os Windows10)
Программа запускается в командной строке с обязательными параметрами sender_email, --server-port и --mail-to:

C:\SmtpClient>python main.py [email protected] -s smtp.yandex.ru -m [email protected]

Далее, пользователю будет предложено ввести пароль для почтового ящика отправителя. Если логин или пароль отправителя были введены неверно, пользователю будет дано 3 попытки на повторную аутентификацию.
После ввода пароля пользователь в следующей же строке вводит текст письма.
Затем происходит отправка письма.

Коды завершения программы

  • Код выхода "0" - выход произведён в связи с успешным завершением работы программы.

  • Код выхода "1" - выход произведён в связи с тем, что пользователь не ввёл ни одного адреса получателя.

  • Код выхода "2" - выход произведён в связи с неверным форматом ввода адреса получателя. Пример верного формата ввода строки с адресом: [email protected]

  • Код выхода "3" - выход произведён в связи с неверным форматом ввода адреса SMTP сервера.

  • Код выхода "4" - выход произведён в связи с неверным форматом ввода порта SMTP сервера.

  • Код выхода "5" - выход произведён в связи с тем, что не удалось найти файл по указанному пути.

  • Код выхода "6" - выход произведён в связи с вводом вложения неверного формата.

  • Код выхода "7" - выход произведён в связи с файловой ошибкой.

  • Код выхода "8" - выход произведён в связи с использованием интерпретатора версии ниже, чем 3.6

Автор

Чернущенко Денис, Ноябрь 2017