program story

"localhost"포트 25에서 메일 서버에 연결하지 못했습니다.

inputbox 2020. 11. 21. 14:10
반응형

"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

내 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 = you@yoursite.com

랩톱을 서버로 사용하고 있습니다. 제가 뭘 잘못하고 있습니까? 감사.


메일 서버를 로컬에서 실행해야합니다. Unix 인 경우 sendmail을 활성화합니다. Windows 인 경우 IIs의 Simple Mail Transfer Server (이름이 정확한지 확실하지 않음) 구성 요소를 설치합니다. 예를 들어 Windows 2003의 경우 다음을 따르십시오. http://msdn.microsoft.com/en-us/library/8b83ac7t.aspx


php 메일 기능을 사용하여 메일을 보낼 때 사용합니다. 단, 메일 기능은 메일 발송을위한 SMTP 서버가 필요합니다. php.ini 파일에서 SMTP 호스트와 SMTP 포트를 언급해야합니다. SMTP 서버가 성공적으로 구성되면 php 스크립트를 통해 메일이 성공적으로 전송됩니다.


Windows에서 거의 모든 AMPP (Apache, MySQL, PHP, PHPmyAdmin) 패키지에는 메일 서버가 포함되어 있지 않습니다 (하지만 거의 모든 네이 키드 Linux에는 포함되어 있습니다!). 따라서 Windows에서 PHP를 사용할 때 메일 서버를 설정해야합니다!

Imo는 가장 좋고 가장 간단한 도구입니다. http://smtp4dev.codeplex.com/

SMTP4Dev는 보내는 메일을 수집하는 간단한 단일 파일 메일 서버 도구입니다 (따라서 실제로 메일을 보내지 않고 개발을 위해 보관함). 완벽한 도구.


localhost에서 응용 프로그램을 실행 중이고 아직 라이브가 아니라면 이것을 사용하여 메일을 보내는 것이 매우 어렵다고 생각합니다.

신청서를 온라인에 올리면이 문제가 자동으로 해결되어야한다고 생각합니다. 하지만 런타임 중에 ini_set()값을 변경하는 데 도움이된다고 생각 php.ini합니다.


우선, 로컬 호스트에서 SMTP를 강제로 사용할 필요가 없습니다. 해당 localhost 항목을 ISP 공급자 (메일 릴레이를 허용하는 사람)로부터 MTA의 DNS 이름으로 변경하면 즉시 작동합니다. 자신의 이메일 서비스를 엉망으로 만듭니다. 공급자 SMTP 서버를 사용해보십시오. 즉시 작동합니다.


PHP 메일 기능은 두 가지 시나리오로 이메일을 보낼 수 있습니다.

ㅏ. 유닉스 sendmail 프로그램을 통해 이메일을 보내십시오 . 리눅스에서는 "sendmail"프로그램을 실행하고 모든 매개 변수를 sendmail에 넣습니다.

또는

비. php.ini의 smtp 프로토콜 및 호스트 / 포트 / 사용자 이름 / 패스를 사용하여 메일 서버에 연결하고 이메일 을 보내십시오.

PHP가 이메일 서버에 연결할 수없는 경우 경고를 표시합니다 (로그에 이러한 작업이 표시됨) 문제를 해결하려면 로컬 컴퓨터에 smtp 서버를 설치하거나 사용 가능한 서버를 사용하십시오. php.net에서 찾을 수있는 SMTP 설정 / 구성 방법


SMTP = localhost를 SMTP = smtp.gmail.com으로 변경합니다.


php는 localhost에서 이메일을 보내는 것을 허용하지 않거나 매우 어렵다고 생각하지만 프로젝트를 서버에 업로드하면이 문제가 해결됩니다. 로컬 서버에서 이메일이 전송되었는지 확인하려면 smtp4dev를 다운로드하여 설치하고 실행해야합니다. 이메일이 성공적으로 전송되었거나 코드에 문제가있는 경우 메시지가 표시됩니다.

참고 URL : https://stackoverflow.com/questions/4532486/failed-to-connect-to-mailserver-at-localhost-port-25

반응형