Intereting Posts
PHP: значение SQL как имя файла Как сохранить Node.js от разделения сообщений сокетов на более мелкие куски PHP Soap Server: создайте экземпляр со строкой (строка xml) вместо файла WSDL (url к нему) Laravel 5.1: класс html не существует Компромисс между пользовательскими данными в сеансе против базы данных? Mysql Auto-incrementing int аналогичных данных Ошибка Google OAuth2 – отсутствует необходимый параметр: grant_type при обновлении Передайте выбранные данные о вариациях продукта в форму запроса контактной формы 7 Класс php не найден, если он включен Предупреждение: preg_match () : Неизвестный модификатор 'v' Обнаруживать рабочий стол и перенаправлять ..? Создать пользователя с подготовленным заявлением MySQLi Pagination продолжает показывать ту же часть данных SQL WordPress: Загрузить изображение на странице «Параметры администратора» Создайте пользователя, когда я отправлю форму

Нет почты, полученной во входящих почтовых ящиках с XAMPP 1.8.0, MercuryMail и mail ()

Я обновил свой локальный сервер с помощью XAMPP 1.8.0, который содержит Apache 2.4.2, PHP 5.4.5 и MySQL 5.5. Я отправляю письма с функцией PHP mail (), запустив MercuryMail, но не получаю письма в моем почтовом ящике.
Отправка писем работает, когда я тестировал Mozilla Thunderbird. И функция mail () работает с ошибкой.

Я проверил php.ini на моем пути установки XAMPP D: \ xampp \ php . Я видел это ниже

[mail function] ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury ; SMTP = localhost ; smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ; sendmail_from = postmaster@localhost ; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (eg c:\program filesD:\xampp) fakemail and mailtodisk do not work correctly. ; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (eg C:\sendmail) and use this for sendmail_path. ; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder) ; sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t" ; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the D:\xampp\mailoutput folder ; sendmail_path = "D:\xampp\mailtodisk\mailtodisk.exe" 

Я изменил некоторые настройки SMTP.
Я прокомментировал хост и порт

 ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury SMTP = localhost smtp_port = 25 

Я прокомментировал sendmail_path , но это не сработало. Не удалось отправить почту.

 ; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder) sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t" 

Опять же, я прокомментировал anothor sendmail_path для работы с mailToDisk

 ; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the D:\xampp\mailoutput folder sendmail_path = "D:\xampp\mailtodisk\mailtodisk.exe" 

Кажется, что это работает, но почта не была получена в папке «Входящие». Ничего не найдено в D: \ xampp \ mailoutput

В почтовом журнале php (D: \ xampp \ php \ logs \ php_mail.log) я обнаружил несколько строк журнала, которые, вероятно, писали письма.

 mail() on [D:\xampp\htdocs\....:127]: To: sithu@localhost.com -- Headers: MIME-Version: 1.0 Content-type: text/html; charset=text/html Return-Path:Sithu <stk@localhost.com> From: Sithu <stk@localhost.com> Reply-To: Sithu <stk@localhost.com> mail() on [D:\xampp\htdocs\....:127]: To: test@localhost.com -- Headers: MIME-Version: 1.0 Content-type: text/html; charset=text/html Return-Path:admin@localhost.com From: admin@localhost.com Reply-To: admin@localhost.com mail() on [D:\xampp\htdocs\....:127]: To: test@localhost.com -- Headers: MIME-Version: 1.0 Content-type: text/html; charset=text/html Return-Path:Members <admin@localhost.com> From: Members <admin@localhost.com> Reply-To: Members <admin@localhost.com> 

Я также попытался прокомментировать sendmail_from , но не повезло.

 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = postmaster@localhost 

Любая конфигурация у меня все еще отсутствует?

[Редактировать]
Почтовый сервер Mercury запущен.
Всякий раз, когда я обновлял php.ini , я перезапускал сервер Apache.

Мне просто нужно настроить D: \ xampp \ sendmail \ sendmail.ini По умолчанию он содержит строку

 smtp_server=mail.mydomain.com 

Мне пришлось изменить его на

 smtp_server=localhost 

Не нужно настраивать это в старых версиях XAMPP.
Правильная настройка для [mail function] в D: \ xampp \ php \ php.ini

 ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury SMTP = 127.0.0.1 smtp_port = 25 ; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (eg c:\program filesD:\xampp) fakemail and mailtodisk do not work correctly. ; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (eg C:\sendmail) and use this for sendmail_path. ; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder) sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t" ; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the D:\xampp\mailoutput folder ; sendmail_path = "D:\xampp\mailtodisk\mailtodisk.exe" 

Теперь я получаю почту в своем почтовом ящике. Обратите внимание, что «D: \ xampp» – мой путь установки XAMPP.

Убедитесь, что почтовый сервер ртути запущен, он не запускается по умолчанию.

 #GMAIL mit XAMPP 1.8.1 und sendmail [CODE] [sendmail] ; HOTMAIL smtp_server=smtp.gmail.com smtp_port=25 smtp_ssl=tls tls_certcheck off error_logfile=error.log debug_logfile=debug.log auth_username= xxxx.xxxx@gmail.com auth_password=xxxxxxx this settings in php.ini [mail function] ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury ; SMTP = smtp.gmail.com ; smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = xxxx.xxxx@gmail.com ; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (eg c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly. ; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (eg C:\sendmail) and use this for sendmail_path. ; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder) sendmail_path = "\"C:\sendmail\sendmail.exe\" -t" ; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder ;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe" ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename mail.add_x_header = Off ; Log all mail() calls including the full path of the script, line #, to address and headers mail.log = "C:\xampp\php\logs\php_mail.log"