it-swarm-eu.dev

Jak zabrání odesílání e-mailů PHP mail () z spamu?

Používám funkci PHP () pro odesílání e-mailů (proces odesílání pošty je spuštěn). Ale všechny maily se chystají na spam (v případě gmailu). Vyzkoušel jsem mnoho triků, které jsem našel na internetu, ale žádný nefunguje, prosím, povězte mi o jakémkoliv triku s jistotou.

31
Partyboy

Musíte přidat záhlaví jehel:

Kód vzorku:

$headers = "From: [email protected]\r\n";
$headers .= "Reply-To: [email protected]\r\n";
$headers .= "Return-Path: [email protected]\r\n";
$headers .= "CC: [email protected]\r\n";
$headers .= "BCC: [email protected]\r\n";

if ( mail($to,$subject,$message,$headers) ) {
   echo "The email has been sent!";
   } else {
   echo "The email has failed!";
   }
?> 
33
user744116

Není žádný jistý záběr. Musíte prozkoumat důvody, proč jsou vaše e-maily klasifikovány jako spam. SpamAssassin má stránku popisující Několik tipů pro legitimní odesílatele, aby se vyhnul falešným pozitivům . Viz také Kódování hrůzy: Takže byste chtěli odeslat nějaký e-mail (prostřednictvím kódu)

18
Oswald

Try PHP Poštovní knihovna .
Nebo Odeslat zprávu přes SMTP před odesláním.
Také se pokuste uvést všechny podrobnosti jako FROM, return-path.

4
Rikesh
<?php

$subject = "this is a subject";
$message = "testing a message";




  $headers .= "Reply-To: The Sender <[email protected]>\r\n"; 
  $headers .= "Return-Path: The Sender <[email protected]>\r\n"; 
  $headers .= "From: The Sender <[email protected]>\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("[email protected]", $subject, $message, $headers); 


?> 
3
Ahmed Medhat
$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();
}

To funguje dobře pro me.It zahrnuje poštu s obrázkem a odkaz a funguje pro všechny druhy pošty ids. Klíčem je dokonale použít všechny hlavičky.

Pokud to testujete z localhostu, před kontrolou zkontrolujte následující:

Jak nastavit odesílání pošty z lokálního serveru xampp:

  1. komentovat vše v D:/xampp/sendmail/sendmail.ini a zmínit níže pod 

    [poslat mail]

    smtp_server = smtp.gmail.com smtp_port = 587 error_logfile = error.log debug_logfile = debug.log [email protected] auth_password = your-mail-password [email protected]

  2. V D:/xampp/php/php.ini A. Pod 

    [funkce pošty]

    SMTP = smtp.gmail.com Smtp_port = 587

b. set sendmail_from = [email protected] c. uncomment sendmail_path = "D: xamp sendmail sendmail.exe" -t " Proto by měl vypadat jako níže

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

d. komentář sendmail_path = "D: xampodtisk mailtodisk.exe" Proto by měl vypadat takto:

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

e. mail.add_x_header=Off

0
Ipsita Rout