Тестируйте электронные письма локально с mamp

Первым делом, я совершенно новичок в этом виде настройки локального сервера, и последние пару дней я провел, пытаясь понять это, но безуспешно.

Я занимаюсь разработкой php-сайта с формой электронной почты.

Я нахожусь на MAC с помощью codekit а также MAMP FREE и все работает отлично. Теперь мой вопрос: можно ли проверить электронную почту, которая должна быть отправлена ​​из формы локально?

Я пробовал много примеров, таких как раскомментирование [mail function] немного в php.ini файл, установка стороннего приложения, например fakeSMTP а также MockSMTP но абсолютно ничего не получалось. mailto() код должен работать, так как, когда я отлаживаю его, никакие ошибки не выдаются

Возможно ли это сделать или нет? Кто-нибудь, кто знает, как правильно это настроить, или кто-то может указать мне на немое руководство?

6

Решение

Хорошо, если кто-то заинтересован в этом, я наконец нашел способ заставить это работать.

Я собираюсь объяснить это здесь в подробном пошаговом руководстве.

Требования

  • MAMP pro
  • рабочая учетная запись Gmail, потому что вам действительно нужно войти в почтовый ящик учетной записи электронной почты (я сделал это, используя Gmail, не уверен насчет других)

Пошаговое руководство

  • Первым делом, вам нужно установить mamp pro. На вкладке постфикса добавьте gmail.com в качестве домена для исходящих писем, а затем нажмите кнопку "Use this data"
  • После того, как это сделано, вы хотите открыть терминал и введите
    sudo nano /System/Library/LaunchDaemons/org.postfix.master.plist (это позволит вам редактировать файл org.postfix.master.plist, в противном случае его нельзя редактировать.

  • Единственное редактирование, которое вы хотите сделать, это добавить вверху, сразу после <dict>эта строка <key>Disabled</key>

  • Теперь закройте терминал и перезапустите ваш Mac.

  • После перезагрузки откройте MAMP и перейдите на веб-сайт, на котором вы хотите проверить электронную почту и отправить электронное письмо.

NB. Важно, чтобы вы использовали рабочий аккаунт для to раздел
из mail() функция, иначе вы не сможете проверить
электронные письма!

  • В интерфейсе ничего не происходит, но если вы сейчас откроете вкладку MAMP -> postFix, в ботто вы можете увидеть путь к файлу журнала и стрелку, нажмите на стрелку, и она отобразит сообщение журнала.
  • Прокрутите вниз до последней строки, где вы должны найти что-то говорящее status:sent, Этот статус отправлено означает, что электронное письмо было отправлено и что локальный тест сработал так, как ожидалось.

Что дальше?

  • Хорошо, теперь войдите в свой аккаунт Gmail (тот, который вы использовали для to раздел в вашем mail() функция
  • Перейдите в спам, и вы должны увидеть письмо, которое вы только что отправили с вашего локального компьютера.

Я использую это, и это на самом деле работает хорошо.

Быстрая подсказка

После этого я внес несколько изменений в свой почтовый ящик gmail, добавив псевдоним и фильтр.
Я собираюсь объяснить это, а также это может быть полезно для начинающего

  • Войдите в свой аккаунт Gmail с вашего компьютера
  • перейдите к верхнему правому значку Cog и затем перейдите в настройки
  • В учетных записях и импорте, добавьте другую учетную запись для использования в качестве псевдонима (в моем случае это [myemailaddress]+test@gmail.com)
  • Как только это будет сделано, перейдите на вкладку фильтры
  • Добавьте новый фильтр и настройте его так, чтобы он влиял на все письма [myemailaddress]+test@gmail.com
  • Нажмите продолжить, чтобы перейти к следующему экрану
  • Теперь вы можете настроить его так, как вам нравится, но важно проверить, что никогда не отправлять его в спам, чтобы вы всегда могли видеть электронные письма, которые вы хотите проверить. (мои личные настройки — пропустить входящие (архив) и добавить определенную метку)

Это оно! Надеюсь, это достаточно ясно и поможет некоторым из вас.

9

Другие решения

Других решений пока нет …