IMAP4_SSL присутствует, только если доступен ssl-модуль Python (вы можете протестировать с помощью import ssl). Попробуйте обновить версию Python вашего сервера и / или установить модуль ssl.
https://docs.python.org/3/library/ssl.html
РЕДАКТИРОВАТЬ 1:
Существует также подкласс для безопасных соединений:
class imaplib.IMAP4_SSL (host = '', port = IMAP4_SSL_PORT, keyfile = None, certfile = None, ssl_context = None)
Это подкласс, производный от IMAP4, который подключается через сокет с шифрованием SSL (для использования этого класса вам нужен модуль сокета, который был скомпилирован с поддержкой SSL).
Если хост не указан, используется '' (локальный хост). Если порт не указан, используется стандартный порт IMAP4-over-SSL (993). ssl_context - это объект ssl.SSLContext, который позволяет объединить параметры конфигурации SSL, сертификаты и закрытые ключи в единую (потенциально долгоживущую) структуру. Пожалуйста, ознакомьтесь с соображениями безопасности для передового опыта.
keyfile и certfile являются устаревшей альтернативой ssl_context - они могут указывать на файлы закрытого ключа в формате PEM и цепочку сертификатов для соединения SSL. Обратите внимание, что параметры keyfile / certfile являются взаимоисключающими с ssl_context, ValueError генерируется, если ключевой файл / certfile предоставляется вместе с ssl_context.
Изменено в версии 3.3: добавлен параметр ssl_context.
Изменено в версии 3.4: теперь класс поддерживает проверку имени хоста с помощью ssl.SSLContext.check_hostname и индикации имени сервера (см. Ssl.HAS_SNI).
Не рекомендуется с версии 3.6: файл ключей и файл сертификатов устарели в пользу ssl_context. Пожалуйста, используйте взамен ssl.SSLContext.load_cert_chain () или позвольте ssl.create_default_context () выбрать для вас доверенные сертификаты ЦС системы.
https://docs.python.org/3/library/imaplib.html
РЕДАКТИРОВАТЬ 2:
вы должны использовать полный путь для питона и для вашего файла. вы можете найти первый из команды which python, который, скорее всего, выведет «/ usr / bin / python», и вы уже должны знать последний. поэтому ваша команда будет выглядеть так:
$mystring = exec('/usr/bin/python /home/user/testing.py');
и вы должны убедиться, что ваш скрипт Python имеет все соответствующие разрешения, поскольку ваш веб-сервер, скорее всего, работает от имени другого пользователя, поэтому разрешения должны быть "-rwxrwxr-x" или что-то близкое.
Сбой Python-скрипта из PHP exec ()