Подтвердить что ты не робот

Не удалось подключиться к почтовому серверу в порту "localhost" 25

Я продолжаю получать эту ошибку, когда пытаюсь отправить электронное письмо в PHP:

Warning: mail() [function.mail]: 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\dressoholic\register.php on line 50

my php.ini выглядит так:

[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 = [email protected]

Я использую свой ноутбук как сервер. Что я делаю неправильно? Спасибо.

4b9b3361

Ответ 1

Вам нужно запустить почтовый сервер локально. Если это Unix, включите sendmail Если это Windows, установите Simple Mail Transfer Server (не уверен, правильно ли это имя) компонент II. Например. для Windows 2003 выполните следующие действия: http://msdn.microsoft.com/en-us/library/8b83ac7t.aspx

Ответ 2

В окнах почти все пакеты AMPP (Apache, MySQL, PHP, PHPmyAdmin) не включают почтовый сервер (но у почти всех голых Linux есть!). Таким образом, при использовании PHP под окнами вам необходимо настроить почтовый сервер!

Imo лучший и самый простой инструмент ist this: http://smtp4dev.codeplex.com/

SMTP4Dev - это простой однофайловый почтовый сервер, который собирает отправленные им письма (поэтому он не отправляет почту, а просто сохраняет их для разработки). Идеальный инструмент.

Ответ 3

Для отправки почты используется функция php mail. Но для функции электронной почты требуется SMTP-сервер для отправки сообщений электронной почты. мы должны упомянуть SMTP-хост и SMTP-порт в файле php.ini. После успешной настройки SMTP-сервера письма будут отправлены успешно отправленными через php-скрипты.

Ответ 4

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

Как только вы разместите свое приложение онлайн, я считаю, что эта проблема должна быть автоматически решена. Bbut, я думаю, ini_set() поможет вам изменить значения в php.ini во время выполнения.

Ответ 5

Прежде всего, вы не должны использовать SMTP на своем локальном хосте, если вы измените эту запись localhost на DNS-имя MTA у вашего провайдера интернет-провайдера (который позволит вам пересылать почту), он будет работать сразу, поэтому не нужно общаться с вашим собственным почтовым сервисом. Просто попробуйте использовать SMTP-серверы ваших поставщиков, он будет работать сразу.

Ответ 6

Функция почты PHP может отправлять электронную почту в двух сценариях:

а. Попробуйте отправить электронную почту через программу unix sendmail. В linux будет исполняться программа "sendmail", поместить все параметры в sendmail и все.

ИЛИ

б. Подключитесь к почтовому серверу (используя протокол smtp и host/port/username/pass from php.ini) и попробуйте отправить электронное письмо.

Если php не сможет подключиться к серверу электронной почты, он будет предупреждать (и вы видите такую ​​работу в ваших журналах) Чтобы решить проблему, установите smtp-сервер на локальный компьютер или используйте любой доступный сервер. Как настроить/настроить smtp, вы можете найти на php.net

Ответ 7

php позволяет отправлять электронную почту с localhost, но эта проблема будет решена, если вы поместите проект на сервер. или если вы хотите проверить, отправлено ли мое электронное письмо или нет, вам необходимо загрузить smtp4dev и установить его. Это даст вам сообщение, если ваша электронная почта будет успешно отправлена ​​или в вашем коде будет проблема.