Проверьте службу электронной почты smtp.
Если у вас есть MAC OS, узнайте, как включить postfix для Gmail SMTP, используя вашу учетную запись gmail, по адресу: https://gist.github.com/loziju/66d3f024e102704ff5222e54a4bfd50e
Использование ссылки на Ubuntu Linux: https://gist.github.com/adamstac/7462202
Проверьте настройки PHP в файле php.ini для активной версии php, которую вы используете.т.е. используя MAMP для MAC OS, перейдите в Applications -> MAMP -> conf -> php7.0.32 (должна быть активная версия, которую вы используете, поэтому, если вы используете php 5.3.14, перейдите в этот каталог) -> php.ini
Отредактируйте файл php.ini с помощью:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well
(default: "sendmail -t -i").
;sendmail_path = sendmail -t -i -f example@gmail.com
sendmail_path = "env -i /usr/sbin/sendmail -t -I"
Перезапустите apache2 после обновления файла php.ini.
При использовании MAC OS для остановки и перезапуска почтыservice: sudo postfix stop && sudo postfix start sudo postfix reload
Тестовое письмо Отправить тестовое электронное письмо с терминала CLI:
echo "Test sending email from Postfix" | mail -s "Test Postfix" example@gmail.com
В качестве альтернативы я могу отправить тестовое сообщение изтерминальный CLI, использующий это:
echo "test message" | sendmail -v example@gmail.com
Проверка ошибок для sendmail с помощью команды терминала CLI:
mailq
Вы можете протестировать функцию SMTP с помощью php, например:
<?php
// testemail.php
$to_email = 'example@gmail.com';
$subject = 'Testing PHP Mail';
$message = 'This mail is sent using the PHP mail function';
$message = wordwrap($message, 70);
$headers = 'From: yoursending@email.com';
mail($to_email,$subject,$message,$headers);
$mail = mail($to_email,$subject,$message,$headers);
if ($mail) { echo "Thank you for using mail";}
else { echo "Mail sending failed.";}
ini_set('display_errors',1);
?>