Сделать python выполнять цикл while, пока нажатие клавиши [duplicate]

Для тех, кто не хочет использовать внешние почтовые программы и хочет отправлять почту () на выделенный Linux-сервер.

Способ, как php-сообщения, описаны в php.ini в разделе [mail function] , Параметр sendmail-path описывает, как вызывается sendmail. Значение по умолчанию - sendmail -t -i, поэтому, если вы заработаете sendmail -t -i < message.txt в консоли linux, вы сделаете это. Вы также можете добавить mail.log для отладки и убедиться, что почта действительно вызвана.

Различные MTA могут реализовать sendmail, они просто делают символическую ссылку на свои двоичные файлы на это имя. Например, в debian default используется postfix. Настройте свой MTA для отправки почты и протестируйте ее с консоли с помощью sendmail -v -t -i < message.txt. Файл message.txt должен содержать все заголовки сообщения и тело, адресаты назначения для конверта будут взяты из заголовка To:. Пример:

From: myapp@example.com
To: mymail@example.com
Subject: Test mail via sendmail.

Text body.

Я предпочитаю использовать ssmtp как MTA, потому что он прост и не требует запуска демона с открытыми портами. ssmtp подходит только для отправки почты с локального хоста, он также может отправлять аутентифицированную электронную почту через вашу учетную запись в общедоступной почтовой службе. Установите ssmtp и отредактируйте конфигурацию /etc/ssmtp/ssmtp.conf. Чтобы иметь возможность также получать локальную системную почту для учетных записей unix (например, оповещения для root из заданий cron), настройте файл /etc/ssmtp/revaliases.

Вот моя конфигурация для моей учетной записи в почте Yandex:

root=mymail@example.com
mailhub=smtp.yandex.ru:465
FromLineOverride=YES
UseTLS=YES
AuthUser=abcde@yandex.ru
AuthPass=password
0
задан Terry Jan Reedy 11 April 2016 в 17:51
поделиться

2 ответа

Python имеет модуль клавиатуры со многими функциями. Установите его, возможно, с помощью этой команды:

pip3 install keyboard

Затем используйте его в коде, например:

import keyboard #Using module keyboard
while True:#making a loop
    try: #used try so that if user pressed other than the given key error will not be shown
        if keyboard.is_pressed('a'): #if key 'a' is pressed 
            print('You Pressed A Key!')
            break #finishing the loop
        else:
            pass
    except:
        break #if user pressed other than the given key the loop will break

Вы можете установить несколько обнаружений клавиш:

if keyboard.is_pressed('a') or keyboard.is_pressed('b') or keyboard.is_pressed('c'):
    #then do this
4
ответ дан user 21 August 2018 в 00:59
поделиться
0
ответ дан Terry Jan Reedy 21 August 2018 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: