Консольное приложение для отправки электронной почты.
Необходим интерпретатор 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