Подтвердить что ты не робот

Что такое безопасный способ отправки электронной почты с использованием Python и Gmail в качестве поставщика?

Я пытаюсь отправить электронную почту себе, используя Python script, и, к счастью, я наткнулся на это сообщение:

Как отправить электронное письмо с помощью Gmail в качестве поставщика с помощью Python?

Проблема в том, что smtplib отправляет пароль для script в текстовом виде, и я скептически отношусь к его безопасности. Далее мой script содержит мое имя пользователя и пароль в виде обычного текста. Есть ли хорошие способы использования Python и отправки писем без сохранения моего пароля в виде обычного текста?

Я также видел это в StackOverflow: Безопасность Python smtplib но ответ не полностью помогает мне разрешить этот конфликт. Однако я еще не готов отказаться.


Дополнительная информация: Я пытаюсь настроить мой малиновый Pi как сервер, который скрещивается через веб-сайт. Когда какая-то особенность сайта изменяется, я хочу получать уведомление по электронной почте. Тем не менее, я не хочу оставлять свой Pi сидеть с помощью script, который имеет мое имя пользователя и пароль в виде обычного текста.

4b9b3361

Ответ 1

В соединении используется STARTTLS, поэтому его не отправляют через Интернет в ясном тексте.

Функция server.starttls() запускает зашифрованную связь с сервером на порту 465 вместо обычного порта 25 для незашифрованного почтового трафика SMTP.

Ответ 2

Очевидным решением было бы использовать

getpass.getpass()

чтобы получить пароль в начале работы и сохранить его в памяти.

Ответ 3

Даже используя starttls, я просто заблокирован Gmail от отправки электронной почты с моего Python script (который работал в прошлом)... Я получаю SMTPAuthenticationError со ссылкой для продолжения входа через браузер, что не помогает моему Python script пытаться отправить почту через smtplib. У меня нет настройки "2-х ступенчатая проверка" в моей учетной записи.

Мне нужно было перейти в мою учетную запись Google (в браузере) и выбрать вариант "включить доступ для менее безопасных приложений"
https://www.google.com/settings/security

Изменение, которое позволило моему script снова работать. Похоже, что Google действительно хочет, чтобы мы использовали двухэтапную аутентификацию и, следовательно, пароль для конкретного приложения, продвигаясь вперед. Думаю, я сделаю это и смирюсь с необходимостью вводить SMS-код для входа в мой адрес электронной почты сейчас, а затем...