복붙노트

PHP 메일 ()을 통해 보낸 메일이 스팸 메일을 보내지 않도록하려면 어떻게합니까?

PHP

PHP 메일 ()을 통해 보낸 메일이 스팸 메일을 보내지 않도록하려면 어떻게합니까?

PHP의 mail () 함수를 사용하여 전자 메일을 보내고 있습니다 (센드 메일 프로세스가 실행 중입니다). 그러나 모든 메일은 스팸 메일이됩니다 (Gmail의 경우). 나는 그물에서 찾은 많은 트릭을 시도했지만 아무도 작동하지 않습니다. 확실한 트릭에 대해 말해주십시오.

해결법

  1. ==============================

    1.바늘 헤더를 추가해야합니다.

    바늘 헤더를 추가해야합니다.

    샘플 코드 :      $ headers = "보낸 사람 : myplace@example.com \ r \ n"; $ headers. = "답장 : myplace2@example.com \ r \ n"; $ headers. = "Return-Path : myplace@example.com \ r \ n"; $ headers. = "참조 : sombodyelse@example.com \ r \ n"; $ headers. = "숨은 참조 : hidden@example.com \ r \ n"; if (mail ($ to, $ subject, $ message, $ headers)) {    echo "이메일을 보냈습니다!";    } else {    echo "이메일을 보내지 못했습니다!";    } ?>

  2. ==============================

    2.확실한 샷 트릭은 없습니다. 메일이 스팸으로 분류되는 이유를 알아봐야합니다. SpamAssassin은 정당한 발신자가 잘못된 긍정을 피할 수있는 방법을 설명하는 페이지입니다. 또한 공포를 코딩하십시오 : 그래서 당신은 어떤 이메일을 보내고 싶습니다 (코드를 통해)

    확실한 샷 트릭은 없습니다. 메일이 스팸으로 분류되는 이유를 알아봐야합니다. SpamAssassin은 정당한 발신자가 잘못된 긍정을 피할 수있는 방법을 설명하는 페이지입니다. 또한 공포를 코딩하십시오 : 그래서 당신은 어떤 이메일을 보내고 싶습니다 (코드를 통해)

  3. ==============================

    3.PHP 메일러 라이브러리를 사용해보십시오. 또는 보내기 전에 SMTP 필터를 통해 메일을 보내십시오. 또한 FROM, return-path와 같은 모든 세부 정보를 제공하십시오.

    PHP 메일러 라이브러리를 사용해보십시오. 또는 보내기 전에 SMTP 필터를 통해 메일을 보내십시오. 또한 FROM, return-path와 같은 모든 세부 정보를 제공하십시오.

  4. ==============================

    4.

    <?php
    
    $subject = "this is a subject";
    $message = "testing a message";
    
    
    
    
      $headers .= "Reply-To: The Sender <sender@domain.com>\r\n"; 
      $headers .= "Return-Path: The Sender <sender@domain.com>\r\n"; 
      $headers .= "From: The Sender <sender@domain.com>\r\n";  
      $headers .= "Organization: Sender Organization\r\n";
      $headers .= "MIME-Version: 1.0\r\n";
      $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
      $headers .= "X-Priority: 3\r\n";
      $headers .= "X-Mailer: PHP". phpversion() ."\r\n" ;
    
    
    
    mail("reciever@domain.com", $subject, $message, $headers); 
    
    
    ?> 
    
  5. ==============================

    5.

    $fromMail = 'set your from mail';
    $boundary = str_replace(" ", "", date('l jS \of F Y h i s A'));
    $subjectMail = "New design submitted by " . $userDisplayName;
    
    
    $contentHtml = '<div>Dear Admin<br /><br />The following design is submitted by '. $userName .'.<br /><br /><a href="'.$sdLink.'"><b>Click here</b></a> to check the design.</div>';
    $contentHtml .= '<div><a href="'.$imageUrl.'"><img src="'.$imageUrl.'" width="250" height="95" border="0" alt="my picture"></a></div>';
    $contentHtml .= '<div>Name : '.$name.'<br />Description : '. $description .'</div>';
    
    $headersMail = '';
    $headersMail .= 'From: ' . $fromMail . "\r\n" . 'Reply-To: ' . $fromMail . "\r\n";
    $headersMail .= 'Return-Path: ' . $fromMail . "\r\n";
    $headersMail .= 'MIME-Version: 1.0' . "\r\n";
    $headersMail .= "Content-Type: multipart/alternative; boundary = \"" . $boundary . "\"\r\n\r\n";
    $headersMail .= '--' . $boundary . "\r\n";
    $headersMail .= 'Content-Type: text/html; charset=ISO-8859-1' . "\r\n";
    $headersMail .= 'Content-Transfer-Encoding: base64' . "\r\n\r\n";
    $headersMail .= rtrim(chunk_split(base64_encode($contentHtml)));
    
    try {
        if (mail($toMail, $subjectMail, "", $headersMail)) {
            $status = 'success';
            $msg = 'Mail sent successfully.';
        } else {
            $status = 'failed';
            $msg = 'Unable to send mail.';
        }
    } catch(Exception $e) {
        $msg = $e->getMessage();
    }
    

    이것은 잘 작동합니다. 이미지와 링크가 포함 된 메일을 포함하며 모든 종류의 메일 ID에 사용할 수 있습니다. 단서는 모든 헤더를 완벽하게 사용하는 것입니다.

    localhost에서 테스트하는 경우 다음을 확인하기 전에 아래를 설정하십시오.

    localhost xampp에서 보내는 메일을 설정하는 방법 :

    비. sendmail_from = yourmailid@domain.com을 설정하십시오. 기음. 주석 처리 해제 sendmail_path = "\"D : \ xamp \ sendmail \ sendmail.exe \ "-t" 그러므로 아래처럼 보일 것입니다.

    sendmail_path = "\"D:\xamp\sendmail\sendmail.exe\" -t"
    

    디. 의견 sendmail_path = "D : \ xamp \ mailtodisk \ mailtodisk.exe" 그러므로 아래처럼 보일 것입니다.

    ;sendmail_path="D:\xamp\mailtodisk\mailtodisk.exe"
    

    이자형. mail.add_x_header = 꺼짐

  6. from https://stackoverflow.com/questions/5935087/how-do-i-prevent-mails-sent-through-php-mail-from-going-to-spam by cc-by-sa and MIT license