Некоторая электронная почта не получена, если она отправлена ​​phpmailer, но в порядке, если она отправлена ​​обычным программным обеспечением почтового клиента - PullRequest
0 голосов
/ 21 февраля 2020

У меня проблемы с некоторыми людьми, которые не получают сообщения электронной почты, отправленные сценарием в PHP с использованием phpmailer.

Я говорю ей проверять папку спама. Они говорят мне: письмо не получено.

Тогда, если я попытаюсь отправить то же письмо, но с использованием обычного клиента, такого как outlook или thunderbird, используя тот же текст, ту же тему и то же вложение, письмо будет доставлено правильно к месту назначения .

Электронная почта, отправленная phpmailer, была отправлена ​​с использованием учетной записи gmail.

Если я пытаюсь проверить электронную почту, отправленную с gmail.com (web), я вижу, что она была правильно отправлена ​​без возвращенных сообщений об ошибках.

Адрес электронной почты не является адресом электронной почты.

Есть идеи, чтобы проверить, в чем проблема?

Мой простой сценарий:

$mail->SMTPDebug = 0;
$mail->isSMTP();
$mail->SMTPAuth = (boolean)$impostazioni['SMTPAuthPHPMailer'];
$mail->SMTPSecure = $impostazioni['SMTPSecurePHPMailer'];
    $mail->SMTPOptions = array(
          'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
          )
        );

    $mail->SMTPAutoTLS = (boolean)$impostazioni['SMTPAutoTLSPHPMailer'];
    $mail->Host = gethostbyname($impostazioni['hostPHPMailer']);// Specify main SMTP servers
    $mail->Username = $impostazioni['usernamePHPMailer'];       // SMTP username
    $mail->Password = $impostazioni['passwordPHPMailer'];       // SMTP password
    $mail->Port = $impostazioni['portPHPMailer'];               // TCP port to connect to
    $mail->Timeout = 60;

    //Recipients
    $mail->setFrom($emailMittente, $nomeMittente);


    $mail->addAddress($info_destinatario['Email']); 

    $mail->addReplyTo($opzioni['ReplyTo']);

    $mail->AddCustomHeader( "X-Confirm-Reading-To: $emailMittente" );
    $mail->AddCustomHeader( "Disposition-Notification-To: $emailMittente" );

    $mail->AddCustomHeader( "Return-Receipt-To: $emailMittente" );



    $track = md5(uniqid(rand(), true));
    $tracker = "<img border='0' src='" . ROOTURL . "tracker/index.php?track=$track' alt='' />";



    //Content
    $mail->isHTML(true);    // Set email format to HTML
    $mail->CharSet = "utf-8";
    $mail->Subject = $oggetto;
    $mail->Body    = $template;
    $mail->AltBody = $plaintext;

    if( $mail->Send() ) {
        $result['Error'] = false;
        $result['ErrorDetail'] = "";
        $result['Message'] = "Messaggio inviato";
        $result['Tracker'] = $track;
        $result['MessageID'] = $mail->GetLastMessageID();
    } else {
        $result['Error'] = true;
        $result['ErrorDetail'] = $mail->ErrorInfo;
        $result['Message'] = $mail->ErrorInfo;
        $result['Tracker'] = "";
        $result['MessageID'] = "";
    }

    return $result;

Я пытался отправить письмо на: mail-tester.com и единственная проблема, которую я получил, была здесь:

3 blacklist:

Presente in BACKSCATTERER ( -0.5 )
Presente in SORBS (last 48 hours) ( -0.5 )
Presente in SORBS (last 28 days) ( -0.5 )

Как это исправить?

...