Во время работы над побочным проектом на прошлой неделе у меня была возможность покопаться в Python и посмотреть, смогу ли я включить отправку электронной почты в свою программу. Ниже описан пошаговый процесс, который я реализовал.
Общий обзор
- Создайте свое тело сообщения в текстовом файле (его можно легко создать в самом коде, я просто предпочел сделать его отдельно)
- Настройте SMTP SERVER с вашей учетной записью электронной почты (я использовал gmail, но любой другой должен работать так же хорошо)
- Создайте свое СООБЩЕНИЕ со всеми необходимыми компонентами — От, Кому, Тема и Тело сообщения
- Через SMTP-СЕРВЕР отправьте свое СООБЩЕНИЕ
Начнем с тела сообщения. Создайте файл с именем «messageBody.txt», включив в него все, что вы хотите сказать в своем сообщении.
Пример:
Hi — It's been awhile! How've you been? Regards,
Далее давайте создадим код Python:
Давайте начнем с создания функции, которая позволяет нам читать наш файл ‘messageBody.txt’ и возвращает его как шаблон.
Пришло время настроить SMTP или простой протокол передачи почты — именно по нему будет отправляться наша электронная почта.
Короче говоря, вам нужно создать экземпляр SMTP, для которого требуются 2 параметра — Адрес хоста и Номер порта — соответствующие вашему поставщику услуг электронной почты. В моем примере я буду использовать Gmail, но я также включил список нескольких популярных провайдеров.
После этого нужно вызвать еще 2 функции:
- server.starttls() — Запускает сервер
- server.login (EMAIL, PASS) — сервер входит в вашу учетную запись электронной почты, где EMAIL и PASS — это переменные, содержащие информацию о вашем адресе электронной почты.
После того, как вы настроили сервер, пришло время получить сообщение, вызвав функцию read(filename) и сохранив его в переменной ‘message’.
Потом…
- Создайте объект MIMEMultipart ("msg").
- Настройте обязательные поля «От», «Кому» и «Тема».
- Прикрепите 'message' к MIMEMultiport как обычный текст (у вас также есть возможность сделать это как 'html', где 'messageBody.txt' отформатирован в HTML )
И, наконец, нажмите «Отправить», вызвав функцию «send_message()» с «msg» в качестве параметра для нашего SMTP-сервера.
Полный код:
Если вам понравилась эта статья, пожалуйста, нажмите на маленькую кнопку хлопка ниже!