WordPress Tutorial의 다음 칼럼에서는 WordPress에서 이메일을 보낼 때 "호스트가 메일 기능을 비활성화했습니다"라는 문제를 해결하는 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
특정 문제 상황
최근 토픽 버그 검색을 하다가 매우 흥미로운 현상을 발견했는데, 바로 SMTP 메일함 설정 문제로 댓글 답글이 비정상적으로 전송될 수 있는데 리뷰가 없습니다. , 이메일을 통해 검색할 때 다음 오류가 발생합니다:
이메일을 보낼 수 없습니다.
가능한 이유: 호스트가 메일() 기능을 비활성화했습니다.
메일 기능이 비활성화되었는지 감지
PHP 프로브를 사용하여 호스트 공급자가 메일 기능을 비활성화했는지 감지합니다.
PHP 프로브 코드는 다음과 같습니다. PHP 파일로 저장하고 서버에 업로드하여 열어서 테스트해 보세요.
<!--?php if (function_exists('mail')) { echo "支持mail()函数!"; } else echo "不支持mail()函数!"; ?-->
Solution
원래 Hengtian 호스트가 메일()을 비활성화한 줄 알았습니다. 기능이 있지만 PHP 프로브를 통해 비활성화되지 않은 것을 발견했습니다.
다음은 메일 기능을 비활성화하고 지원하는데도 불구하고 메일 기능이 비활성화되는 문제에 대한 해결책입니다. 이것은 개인적인 경험입니다.
메일 기능을 비활성화하는 호스트에 대한 해결 방법
위의 PHP 프로브를 통해 호스트가 메일 기능을 비활성화한 것으로 확인되면 원래 메일 기능 대신 직접 SMTP를 사용하여 메일을 보냅니다.
SMTP 메일함 설정 보내기 여기에 사용된 코드(예: 블로그 메일함 설정의 경우)를 function.php에 넣으세요.
function mail_smtp( $phpmailer ){ $phpmailer->From = “lijie@php2.cc”; //发件人 $phpmailer->FromName = “PHP二次开发”; //发件人昵称 $phpmailer->Host = “smtp.ym.163.com”; //SMTP服务器地址 $phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度 $phpmailer->SMTPSecure = “”; //SMTP加密方式,常用的有SSL/TLS,具体谷歌百度 $phpmailer->Username = “lijie@php2.cc”; //邮箱帐号 $phpmailer->Password = *; //邮箱密码(缙哥哥就用星号代替了) $phpmailer->IsSMTP(); //使用SMTP发送 $phpmailer->SMTPAuth = true; //启用SMTPAuth服务 } add_action(‘phpmailer_init’,’mail_smtp’);
호스트는 메일 기능 솔루션을 지원합니다
테스트에서 메일 기능을 지원하는 경우 아래를 살펴보세요.
이전에는 테스트 관리자의 이메일만 가지고 있었기 때문에 새로운 사용자를 등록하고 이메일을 사용하여 검색을 시도했습니다. 비밀번호가 정상적으로 전송되었습니다.
그런 다음 SMTP 이메일 계정을 163 이메일로 변경하고 관리자 이메일을 사용하여 비밀번호를 검색했는데 결과는 놀라지 않고 정상적으로 수신되었습니다.
마지막으로, 받는 이메일 주소와 보내는 이메일 주소는 동일할 수 없다는 것이 밝혀졌습니다. 이 결과는 저를 놀라게 했습니다. 실제로는 이렇게 작은 링크에 나타났습니다. 테마 문제인 줄 알고 여러 번 코드를 변경했습니다. 하지만 큰 버그도 수정되었습니다. 던지기, 어리면 굳이 던질 이유가 있나요?
그러고보니 163 메일함을 바꾸니 리뷰와 댓글 답글, 등록 메일 알림이 많이 왔어요. 귀찮으시면 그냥 발신 메일함을 따로 만들어두시는 게 어떨까요? 이렇게 하면 수신되는 이메일 수를 효과적으로 줄일 수 있고 이제 귀가 조용해졌습니다.
위 내용은 WordPress에서 이메일을 보낼 때 '호스트가 메일 기능을 비활성화했습니다'라는 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!