Skip to content

NightQnEarth/SmtpClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 receiver.first@gmail.com receiver.second@gmail.com
    ... или полный путь до файла, в начале каждой строки которого содержится один почтовый адрес получателя:
    --mail-to @filename.txt

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

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

C:\SmtpClient>python main.py sender@yandex.ru -s smtp.yandex.ru -m receiver@yandex.ru

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

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

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

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

  • Код выхода "2" - выход произведён в связи с неверным форматом ввода адреса получателя. Пример верного формата ввода строки с адресом: receiver@yandex.ru

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

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

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

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

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

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

Автор

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

About

Third task from Python course.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages