Настройка php-почты в xampp

Я изучаю PHP и установил Xampp на свой компьютер.

Но у меня проблема с настройкой, так как опция электронной почты не работает.

После некоторого чтения я думаю, что это имеет какое-то отношение к приведенному ниже, найденному на моем сервере в файле php.ini

[mail function] ; For Win32 only. ; *hp://*php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ;sendmail_from = postmaster@localhost 

[Обратите внимание, что я изменил выше hp: // из http: // из-за ограничения на этом сайте, чтобы опубликовать гиперссылку]

Есть ли что-то, что мне нужно изменить? Я видел такое программное обеспечение, как упомянутый swiftmailer, но я не знаю, включил ли уже Xampp это уже? Любые советы будут очень признательны!

Спасибо Джеймсу

Мой любимый SMTP-сервер – hMailServer .

У этого есть хороший удобный для Windows инсталлятор и мастер. Руки вниз самый простой почтовый сервер, который я когда-либо настраивал.

Он может проксировать через вашу учетную запись gmail / yahoo / etc или отправлять электронную почту напрямую.

После его установки электронная почта в xampp работает без изменений конфигурации.

XAMPP должен был иметь «поддельную» программу sendmail. В этом случае вы также можете использовать sendmail:

 [mail function] ; For Win32 only. ; http://php.net/smtp ;SMTP = localhost ; http://php.net/smtp-port ;smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ;sendmail_from = me@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = "C:/xampp/sendmail/sendmail.exe -t -i" 

Sendmail должен иметь sendmail.ini ; он должен быть настроен так:

 # Example for a user configuration file # Set default values for all following accounts. defaults logfile "C:\xampp\sendmail\sendmail.log" # Mercury #account Mercury #host localhost #from postmaster@localhost #auth off # A freemail service example account ACCOUNTNAME_HERE tls on tls_certcheck off host smtp.gmail.com from EMAIL_HERE auth on user EMAIL_HERE password PASSWORD_HERE # Set a default account account default : ACCOUNTNAME_HERE по # Example for a user configuration file # Set default values for all following accounts. defaults logfile "C:\xampp\sendmail\sendmail.log" # Mercury #account Mercury #host localhost #from postmaster@localhost #auth off # A freemail service example account ACCOUNTNAME_HERE tls on tls_certcheck off host smtp.gmail.com from EMAIL_HERE auth on user EMAIL_HERE password PASSWORD_HERE # Set a default account account default : ACCOUNTNAME_HERE 

Разумеется, замените ACCOUNTNAME_HERE на произвольное имя учетной записи, замените EMAIL_HERE действительным письмом (например, Gmail или Hotmail) и замените PASSWORD_HERE паролем на ваш адрес электронной почты. Теперь вы можете отправлять почту. Не забудьте перезапустить Apache (из панели управления или пакетных файлов), чтобы изменения в PHP работали.

Если на вашем локальном компьютере не настроен почтовый сервер, настройка SMTP = localhost не будет иметь никакого эффекта.

В дни, прошедшие (давно), достаточно было установить значение SMTP на адрес SMTP-сервера вашего интернет-провайдера. Это сейчас редко работает, потому что большинство интернет-провайдеров настаивают на аутентификации с именем пользователя и паролем. Однако функция PHP mail () не поддерживает аутентификацию SMTP. Он предназначен для работы непосредственно с агентом почтового транспорта локального сервера.

Вам необходимо настроить локальный почтовый сервер или использовать классы PHP, поддерживающие аутентификацию SMTP, например Zend_Mail или PHPMailer. Самое простое решение – загрузить ваш почтовый скрипт на ваш удаленный сервер.