Неустранимая ошибка: необработанная ошибка: вызов неопределенной функции imap_mail_compose ()

Есть ли другой способ сделать это? Возможно, использование отражения?

Да. Отражение может использоваться для обхода правил доступа Java, если ваше приложение имеет полную привилегию.

Например, чтобы получить доступ к полю private объекта из другого класса, вам необходимо:

  • Получить объект Class объекта.
  • Использовать метод Class.getDeclaredField(...) для получения объекта Field для поля.
  • Вызов Field.setAccessible(true) чтобы отключить проверку доступа.
  • Вызовите Class.getField(object, Field), чтобы получить значение поля (или полевое значение, если оно является примитивным типом).

Если сам класс недоступен, вам необходимо убедиться, что вы не ссылаетесь на идентификатор классов в исходном коде ... 'cos, что приведет к ошибке компиляции. Вместо этого назначьте его ссылку на (скажем) переменную типа Object или какого-либо другого видимого супертипа и произнесите более конкретные операции над экземпляром рефлексивно.


Как вы можете себе представить, это утомительно и склонность к ошибкам. Вам рекомендуется найти лучший способ, например:

  • получить поставщиков классов, чтобы исправить все, что заставляет вас нарушать ограничения видимости,
  • получение поставщиков классов для изменения их видимости,
  • поиск другого способа использования классов, которые не требуют взломать их абстракцию, или
  • , отбрасывая их и обнаруживая (или записывая ) что-то лучше.

(Вообще говоря, если вам нужно сломать абстракцию, тогда что-то не так с самой абстракцией или с тем, как вы ее используете.)

< hr>

Наконец, я должен добавить, что ненадежный код (должен быть) запущен в изолированной программной среде безопасности, которая блокирует использование ключевых рефлексивных операций.

0
задан kerbholz 18 January 2019 в 09:57
поделиться

1 ответ

По умолчанию расширение IMAP не активируется при установке PHP.

Для активации отредактируйте свой php.ini в xampp и добавьте extension=php_imap.dll

В Linux отредактируйте php.ini

Удалите ; из ;extension=imap.so

0
ответ дан Prathamesh Raut 18 January 2019 в 09:57
поделиться
Другие вопросы по тегам:

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