Протестируйте почтовую функцию PHP от localhost

Я должен протестировать функцию, которая использует почту PHP ()
Как я могу сделать это, не загружая сценарий на сервер и протестировать его онлайн?
Что еще больше, я разрабатываю без Интернет-соединения вообще.
Я нахожусь на MAC OSX, работающей localhost от XAMPP.

22
задан Volomike 27 January 2018 в 22:09
поделиться

3 ответа

Хм. Я не пробовал этого, но в php.ini вы можете установить sendmail_path ... так что теоретически вы могли бы написать свой собственный сценарий оболочки, который просто записывал ввод в текстовые файлы и изменял свой php.ini для его использования? Тогда просто запустите тесты и проверьте текстовые файлы!

1
ответ дан 29 November 2019 в 03:41
поделиться

Установите pop3 сервер в локальной машине. Многие из них доступны бесплатно. и отправляйте почту в локальном домене с помощью sendmail.

По умолчанию в Linux не требуется указывать путь к sendmail. По крайней мере, мне это никогда не требовалось. Просто используйте функцию mail() и отправляйте почту в локальном домене

0
ответ дан 29 November 2019 в 03:41
поделиться

Вам не нужно устанавливать MTA на свой компьютер для тестирования функции PHP mail () . В системах на основе Unix (Linux, * BSD, OS X и т. Д.) Вы можете установить sendmail_path примерно как tee mail.out> / dev / null . Это поместит электронные письма (включая заголовки) в файл с именем mail.out .

Вот пример того, как это будет работать:

daniel@daniel-laptop:~$ cat | php -d sendmail_path='tee mail.out > /dev/null'
<?php
mail('test@example.com', 'the subject', 'the body');
?>
daniel@daniel-laptop:~$ cat mail.out
To: test@example.com
Subject: the subject
X-PHP-Originating-Script: 1000:-


the body

Вы можете установить sendmail_path в вашем файле php.ini . Если вы хотите добавлять электронные письма к файлу вместо перезаписи каждый раз, вы можете использовать tee -a вместо просто tee .

52
ответ дан 29 November 2019 в 03:41
поделиться
Другие вопросы по тегам:

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