>백엔드 개발 >PHP 튜토리얼 >PHPmailer의 이메일 전송 실패 정보: 서버에 연결하지 못했습니다.

PHPmailer의 이메일 전송 실패 정보: 서버에 연결하지 못했습니다.

WBOY
WBOY원래의
2016-08-08 09:28:231079검색

다음과 같은 좋은 기사를 봤습니다

phpmailer 클래스 SMTP를 사용하여 이메일을 보내는 데 실패했습니다. 문제 해결 아이디어는 코드에서 먼저 SMTPDebug$mail을 엽니다. = new PHPMailer();//메일 전송 클래스 생성

$mail->SMTPDebug = true; //SMTPDebug 속성을 true로 설정

이메일이 성공적으로 전송되지 않으면 오류 메시지가 나타납니다

이번에 보고한 오류는 다음과 같습니다 서버 연결 실패 주소에서 실패 DEBUG 프롬프트 켜기: ERROR: 서버에 연결하지 못했습니다: (0) 연결할 수 없으므로 Du Niang에게 문의한 후 smtp에 연결하는 방법을 알아봅니다. 서버는 fsockopen을 통해 작동합니다. 그러면 이 기능이 비활성화되어 있는지 살펴보겠습니다. PHP.ini에서 1,allow_url_fopen을 찾으세요. = On 옵션이 On으로 되어 있는지 확인하세요. Off일 경우 해당 기능을 On으로 변경해 주세요. 위의 설정은 fopen이 열려 있다는 의미이므로 어떻게 해야 하나요? , 켜져 있는 것은 아니고 사용을 허용해야 합니다. 그럼 비활성화된 메소드 중에 fsockopen2, disable_functionsdisable_functions가 있는지 살펴보겠습니다. , fsockopen을 포함하여 비활성화된 메서드가 많이 있습니다. 축하합니다. 답을 찾았으니 제거하세요. 확인, 아파치를 다시 시작하세요. 가 여전히 작동하지 않나요? 또한 php.ini 파일에서 이것이 작동하는지 확인하세요. 열렸나요? extension= php_openssl.dll열려 있으면 php 디렉토리에 있는 두 개의 확장 파일이 c/:windows/System32libeay32.dll ssleay32.dll에 복사되었는지 확인하세요. 추가로: 서버를 바꾸지 않고 코드만 바꾸면 시도해 볼 수도 있습니다. 참고 => 아직 시도해보지 않았습니다

방법 1: fsockopen 함수를 pfsockopen 함수로 대체

pfsockopen의 매개변수는 기본적으로 fsockopen과 동일하므로

@fsockopen을 @pfsockopen으로 바꾸면 됩니다. 운이 좋으면 pfsockopen이 비활성화되지 않은 경우

을 통해 확인하세요. 방법 2: stream_socket_client 함수 사용

일반적으로 fsockopen()은 금지됩니다. pfsockopen 또한 금지될 수 있으므로 여기에 또 다른 함수 stream_socket_client()가 있습니다.

stream_socket_client의 매개변수는 fsockopen과 다르므로 코드를 다음과 같이 수정해야 합니다.

$this->smtp_conn = stream_socket_client ("tcp ://".$host.":".$port, $errno, $errstr, $tval);

그렇습니다.


본 글은 '909가 타깃' 블로그에서 가져온 글이니 출처를 꼭 남겨주세요

연결은 다음과 같습니다.

http://www.68idc.cn/help/jiabenmake/qita/2014042793331.html

위 내용은 관련 측면을 포함하여 PHPmailer의 서버 연결 실패 실패에 대해 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.