Как я могу получить правильный адрес электронной почты "от", используя PHPMailer и Google Apps? - PullRequest
0 голосов
/ 06 февраля 2019

Я использую простую форму PHPMailer, чтобы пользователи моего сайта могли связаться со мной через контактную форму.Я использую свою учетную запись Google Apps для отправки почты.В сценарии я установил учетную запись электронной почты, которую пользователь предоставляет мне в качестве адреса отправителя.

Еще несколько недель назад все шло хорошо.В Службах Google я могу нажать на ответ, чтобы отправить ответ пользователю, связавшемуся со мной.

Однако в последнее время, не меняя ничего в своем коде, когда я нажимаю на ответ, я отправляю электронное письмо самому себе.Это то, что Google изменил в своей политике?Или я случайно что-то сделал не так?

Это вывод, который я получаю.Я использую info@kynero.nl для отправки и использую jaapklok@gmail.com в качестве учетной записи клиента.Однако, когда я открываю почту, которую я получаю в info@kynero.nl и нажимаю на ответ, я отправляю электронное письмо по адресу info@kynero.nl вместо jaapklok@gmail.com

2019-02-06 20:34:31 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP x38sm6269222edx.24 - gsmtp
2019-02-06 20:34:31 CLIENT -> SERVER: EHLO www.kynero.nl
2019-02-06 20:34:31 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [2a0b:7280:200:0:4d0:baff:fe00:d8e]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
2019-02-06 20:34:31 CLIENT -> SERVER: STARTTLS
2019-02-06 20:34:31 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
2019-02-06 20:34:31 CLIENT -> SERVER: EHLO www.kynero.nl
2019-02-06 20:34:31 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [2a0b:7280:200:0:4d0:baff:fe00:d8e]250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
2019-02-06 20:34:31 CLIENT -> SERVER: AUTH LOGIN
2019-02-06 20:34:31 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2019-02-06 20:34:31 CLIENT -> SERVER: <credentials hidden>
2019-02-06 20:34:31 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2019-02-06 20:34:31 CLIENT -> SERVER: <credentials hidden>
2019-02-06 20:34:31 SERVER -> CLIENT: 235 2.7.0 Accepted
2019-02-06 20:34:31 CLIENT -> SERVER: MAIL FROM:<jaapklok@gmail.com>
2019-02-06 20:34:31 SERVER -> CLIENT: 250 2.1.0 OK x38sm6269222edx.24 - gsmtp
2019-02-06 20:34:31 CLIENT -> SERVER: RCPT TO:<info@kynero.nl>
2019-02-06 20:34:31 SERVER -> CLIENT: 250 2.1.5 OK x38sm6269222edx.24 - gsmtp
2019-02-06 20:34:31 CLIENT -> SERVER: DATA
2019-02-06 20:34:31 SERVER -> CLIENT: 354 Go ahead x38sm6269222edx.24 - gsmtp
2019-02-06 20:34:31 CLIENT -> SERVER: Date: Wed, 6 Feb 2019 21:34:31 +0100
2019-02-06 20:34:31 CLIENT -> SERVER: To: info@kynero.nl
2019-02-06 20:34:31 CLIENT -> SERVER: From: Jaap Klok <jaapklok@gmail.com>
2019-02-06 20:34:31 CLIENT -> SERVER: Reply-To: Jaap Klok <jaapklok@gmail.com>
2019-02-06 20:34:31 CLIENT -> SERVER: Subject: Aanvraag via Inschrijfformulier op kynero.nl
2019-02-06 20:34:31 CLIENT -> SERVER: Message-ID: <0bYvsZOe3xY7iWVxMyFA2uxOvWVDPpl5CAX58DcXA@www.kynero.nl>
2019-02-06 20:34:31 CLIENT -> SERVER: X-Mailer: PHPMailer 6.0.5 (https://github.com/PHPMailer/PHPMailer)
2019-02-06 20:34:31 CLIENT -> SERVER: MIME-Version: 1.0
2019-02-06 20:34:31 CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-1
2019-02-06 20:34:31 CLIENT -> SERVER: 
2019-02-06 20:34:31 CLIENT -> SERVER: Naam: Jaap Klok <br />
2019-02-06 20:34:31 CLIENT -> SERVER: Inschrijving: Detectie vrijdag 10.00 <br />
2019-02-06 20:34:31 CLIENT -> SERVER: Algemene voorwaarden: Akkoord <br />
2019-02-06 20:34:31 CLIENT -> SERVER: Bericht: Test 3 - 21:36
2019-02-06 20:34:31 CLIENT -> SERVER: 
2019-02-06 20:34:31 CLIENT -> SERVER: .
2019-02-06 20:34:32 SERVER -> CLIENT: 250 2.0.0 OK 1549485383 x38sm6269222edx.24 - gsmtp
2019-02-06 20:34:32 CLIENT -> SERVER: QUIT
2019-02-06 20:34:32 SERVER -> CLIENT: 221 2.0.0 closing connection x38sm6269222edx.24 - gsmtp

1 Ответ

0 голосов
/ 07 февраля 2019

Google не позволяет отправлять с произвольных адресов.Вы можете использовать только адрес своей учетной записи или предварительно определенные псевдонимы в настройках Gmail.Если вы попытаетесь сделать это, он просто заменит адрес вашей учетной записи на адрес отправителя, как вы видите.

В общем, попытка сделать это в любом случае неправильный подход - это подделка и приведет к вашим сообщениямбыть спам-фильтром или отклонен из-за сбоев SPFПравильный способ сделать это - использовать свой адрес в качестве адреса отправителя, а адрес отправителя - в качестве адреса для ответа. Пример контактной формы, предоставляемый с PHPMailer , делает именно это.Важный бит этого:

    //Use a fixed address in your own domain as the from address
    //**DO NOT** use the submitter's address here as it will be forgery
    //and will cause your messages to fail SPF checks
    $mail->setFrom('from@example.com', 'First Last');
    //Send the message to yourself, or whoever should receive contact for submissions
    $mail->addAddress('whoto@example.com', 'John Doe');
    //Put the submitter's address in a reply-to header
    //This will fail if the address provided is invalid,
    //in which case we should ignore the whole request
    if ($mail->addReplyTo($_POST['email'], $_POST['name'])) {
        $mail->Subject = 'PHPMailer contact form';
        //Keep it simple - don't use HTML
        $mail->isHTML(false);
        //Build a simple message body
        $mail->Body = <<<EOT
Email: {$_POST['email']}
Name: {$_POST['name']}
Message: {$_POST['message']}
EOT;
...