>백엔드 개발 >PHP 튜토리얼 >공간을 변경한 후 WordPress에서 이메일을 보낼 수 없나요?

공간을 변경한 후 WordPress에서 이메일을 보낼 수 없나요?

WBOY
WBOY원래의
2016-12-01 00:25:561929검색

  1. 문제 설명

피험자 회사가 업무상의 필요로 인해 회사 홈페이지(워드프레스 기반으로 개발)를 홍콩 서버에서 국내 서버로 이전하였습니다.
서버 환경은 피험자가 직접 구축하였으며, 이는

와 동일합니다. 홍콩 서버. 마이그레이션 후 사용자가 이메일을 받을 수 없다는 사실을 발견했습니다. 메시지가 성공적으로 전달되었지만 여전히 이메일을 받을 수 없습니다.
  1. 코드
    <code>   <?php 
       </code>


    $to = 'xxxx@qq .com';
    $subject = '제목';

    $body = '이메일 본문 내용';


    //wp_mail, 이메일 보내기 함수, 부울 값 반환

    $mail = wp_mail( $to, $subject, $body);

    if (!$mail)
    <code>{
            global $ts_mail_errors;
            global $phpmailer;
                if (!isset($ts_mail_errors)) 
                    $ts_mail_errors = array();
                if (isset($phpmailer)) 
                {
                $ts_mail_errors[] = $phpmailer->ErrorInfo;
                print_r($ts_mail_errors);
                }
     }
    else echo 'email was sent!';
    </code>

    ?>
  2. 이 코드는 홍콩 서버와 국내 서버 모두에 'email was sent!'라고 출력되는데, 메일함을 확인해 보니 홍콩 서버에서 보낸 이메일만 수신되었습니다.

하나님께 인도를 구하세요!

답글 내용:
  1. 문제 설명


피험자 회사가 업무상의 필요로 인해 회사 홈페이지(워드프레스 기반으로 개발)를 홍콩 서버에서 국내 서버로 이전하였습니다.

서버 환경은 피험자가 직접 구축하였으며, 이는
    와 동일합니다. 홍콩 서버. 마이그레이션 후 사용자가 이메일을 받을 수 없다는 사실을 발견했습니다. 메시지가 성공적으로 전달되었지만 여전히 이메일을 받을 수 없습니다.
  1. <code>   <?php 
       </code>
    코드



    $to = 'xxxx@qq .com';

    $subject = '제목';

    $body = '이메일 본문 내용';

    //wp_mail, 이메일 보내기 함수, 부울 값 반환

    $mail = wp_mail( $to, $subject, $body);

    <code>{
            global $ts_mail_errors;
            global $phpmailer;
                if (!isset($ts_mail_errors)) 
                    $ts_mail_errors = array();
                if (isset($phpmailer)) 
                {
                $ts_mail_errors[] = $phpmailer->ErrorInfo;
                print_r($ts_mail_errors);
                }
     }
    else echo 'email was sent!';
    </code>
    if (!$mail)

  2. ?>
  3. 이 코드는 홍콩 서버와 국내 서버 모두에 'email was sent!'라고 출력되는데, 메일함을 확인해 보니 홍콩 서버에서 보낸 이메일만 수신되었습니다.

하나님께 인도를 구하세요!



//SMTP를 사용하여 메일 보내기
mail_smtp( $phpmailer ){
$phpmailer->From = "xxx@example .com" //Sender
$phpmailer-> "xxx"; //발신자 닉네임
$phpmailer->Host = "smtp.exmail.qq.com"; //SMTP 서버 주소
$phpmailer->Port = 465; 🎜>$phpmailer->SMTPSecure = "ssl"; //SMTP 암호화 방법, 일반적으로 사용되는 것은 ssl/tls, 일반적으로 포트 25는 공백, 포트 465일 ssl
$phpmailer->사용자 이름 = "xxx @example .com"; //이메일 계정, 일반적으로 보낸 사람과 동일
$phpmailer->Password = 'xxx'; //이메일 비밀번호
$phpmailer->IsSMTP(); / /Send SMTP 사용
$phpmailer->SMTPAuth = true; //SMTPAuth 서비스 활성화
}

add_action('phpmailer_init','mail_smtp');

이메일 로그를 확인해 보니 전송이 안되는 것이 아니라 거절이 된 것이었습니다. mail() 함수는 쉽게 거부되거나 휴지통으로 보내지기 때문에 SMTP를 사용하여 이메일을 보내는 것이 좋은 선택입니다.

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