Как проверить функцию php mail() локально на Homestead

Я очень новичок в php и пытаюсь проверить функцию mail() локально. Я использую Homestead/Laravel в качестве локального сервера. В моем файле php.ini есть только одна строка, в которую я включаю отладку. Любые люди из Homestead/Laravel знают, как редактировать мои файлы, чтобы я мог проверять почту локально? Примечание: я добавил echo перед функцией mail, чтобы посмотреть, работает ли она вообще.

<?php
$emailTo = "test@gmail.com";
$subject = "Testing out PHP";
$body = "Huzzah";
$headers = "From: test@test.co.uk";

echo mail($emailTo, $subject, $body, $headers);    
?>

1 ответ

Использование:

  • драйвер журнала

    В project/config/mail.phpустановите почтовый драйвер на log:

    'driver' => env('MAIL_DRIVER', 'log'),
    

    затем проверьте свои журналы на наличие писем: project/storage/logs/*.log

  • универсальный адрес (и отправьте все себе)

  • фиктивный почтовый ящик

Проверьте эту ссылку для получения дополнительной информации: http://laravel.com/docs/5.1/mail

Есть еще более полезная вещь - Mailhog.

В документации говорится:

Mailhog позволяет вам легко перехватить исходящую электронную почту и изучить ее, не отправляя ее получателям. Для начала обновите файл.env, чтобы использовать следующие настройки почты:

MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

После настройки Mailhog вы можете получить доступ к панели управления Mailhog по адресу http://localhost:8025/.

На мой взгляд, действительно хорошая вещь.

Другие вопросы по тегам