Я использовал функцию 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 "localhost" port 25, verify your "SMTP" and "smtp_port" 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");