Intereting Posts
2 проверка даты ввода php с условием Как я могу разделить строку с разделителями-запятыми на массив в PHP? foreach loop over SimpleXMLElement не работает, только 1 элемент в результате CodeIgniter: пытается вызвать метод конструктора, чтобы проверить, зарегистрирован ли пользователь (вызывает бесконечный цикл перенаправления) Как создать общий шаблон с верхним и нижним колонтитулом для проектов phalcon с помощью Volt Engine бесконечный цикл анимации прокрутки ajax PHP-полировщик – существует где угодно? Как преобразовать форму Unicode NCR в ее первоначальную форму на PHP? Флажок проверки Laravel Phpize под Windows В чем смысл интерфейсов на слабо типизированном языке, например PHP? Выведите значение настраиваемого поля в отдельных страницах продукта и корзины WooCommerce Установить значение одного объекта в многомерном массиве в шаблоне ветви Как переносить устаревший веб-сайт Java / J2EE на современный язык сценариев (PHP, Python / Django и т. Д.)? Клиентская сторона термической печати PHP

Функция php function mail () не работает

Я использовал функцию mail () в кодировке php, но мне не удалось отправить почту. Прежде чем продолжить, я хочу уточнить контекст использования функции mail ().

Я не размещал свой сайт так, чтобы он был на localhost. Я установил smtp, порт sendmail_path и т. Д.

После многого поиска мне кажется, что мне нужно загрузить почтовый сервер. Я загрузил бесплатный сервер sendmail и настроил его как предполагаемый сайт. Тем не менее, все напрасно, кто-то сказал мне, что я не могу использовать функцию почты, пока я не размещу свой сайт не только на localhost. Пожалуйста, направляйте меня.

<?php $from = "oooo@hotmail.com"; // sender $subject = " My cron is working"; $message = "My first Cron :)"; // message lines should not exceed 70 characters (PHP rule), so wrap it $message = wordwrap($message, 70); // send mail ini_set("SMTP","localhost"); ini_set("smtp_port","25"); ini_set("sendmail_from","00000@gmail.com"); ini_set("sendmail_path", "C:\wamp\bin\sendmail.exe -t"); mail("jXXXXXX@gmail.com",$subject,$message,"From: $from\n"); echo "Thank you for sending us feedback"; ?> 

это мой конфигурационный файл sendmail:

 smtp_server=smtp.gmail.com smtp_port=587 smtp_ssl=auto ;default_domain=domain.com auth_username=jxxxx@gmail.com auth_password=8888 force_sender=j*****@gmail.com ( ! ) SCREAM: Error suppression ignored for ( ! ) Warning: mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at &quot;localhost&quot; port 25, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set() in C:\wamp\www\test.php on line 20 

Я думаю, что вы не настроены должным образом,

если вы используете XAMPP, вы можете легко отправлять почту с localhost.

например, вы можете настроить C:\xampp\php\php.ini и c:\xampp\sendmail\sendmail.ini для отправки почты.

в C:\xampp\php\php.ini find extension=php_openssl.dll и удалите точку с запятой с начала этой строки, чтобы заставить SSL работать в gmail для localhost.

в файле php.ini найдите [mail function] и измените

 SMTP=smtp.gmail.com smtp_port=587 sendmail_from = my-gmail-id@gmail.com sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

Теперь откройте C:\xampp\sendmail\sendmail.ini . Замените весь существующий код в sendmail.ini следующим кодом

 [sendmail] smtp_server=smtp.gmail.com smtp_port=587 error_logfile=error.log debug_logfile=debug.log auth_username=my-gmail-id@gmail.com auth_password=my-gmail-password force_sender=my-gmail-id@gmail.com 

Теперь вы сделали !! создавать php-файл с функцией почты и отправлять почту с localhost.

Обновить

Во-первых, убедитесь, что на PHP-установке установлена ​​поддержка SSL (найдите раздел «openssl» в выводе phpinfo() ).

Вы можете установить следующие параметры в вашем PHP.ini:

 ini_set("SMTP","ssl://smtp.gmail.com"); ini_set("smtp_port","465");