HTML письмо через php на gmail несовместимо с текстом в сообщении - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть php-скрипт для отправки электронной почты из моей сети в gmail.

php код

    $str = $_POST['to'];

    $contacts=explode(",",$str);


    foreach($contacts as $contact) {

        $to      = $contact;
        $subject = $_POST['subject'];
        $message = $_POST['message'];


        $headers = "From: ".$_POST['from']. "\r\n" .
        "Reply-To: ".$_POST['reply']."\r\n" .
        "X-Mailer: PHP/" . phpversion();

        if(mail($to, $subject, $message, $headers)){


            echo "<SCRIPT LANGUAGE='JavaScript'>
                    window.alert('Email Sent Successfully')
                    window.location.href='dashboard.php';
                    </SCRIPT>";
        }else{

            echo "<SCRIPT LANGUAGE='JavaScript'>
                window.alert('Email Not Sent')
                window.location.href='dashboard.php';
                </SCRIPT>"; 

        }
    }

    }else{

    }
}

HTML-код

<form method="POST" action="">
    <table style="width:100%">
        <tr>
            <td>
              <label >Your Email</label>   
            </td>
            <td style="width:50%">
                <input type="text" name="from" style="widht:100%" />
            </td>
        </tr>
        <tr>
            <td>
                <label>Receipant(s)</label>   
            </td>
            <td style="width:50%">
                <input type="text" style="widht:100%"name="to" />
            </td>
        </tr>
        <tr>
            <td>
               <label>Email for Reply</label>
            </td>
            <td style="width:80%">
                <input type="text" style="widht:100%" name="reply" />
            </td>
        </tr>
        <tr>
            <td>
               <label>Subject</label>
            </td>
            <td style="width:50%">
                  <input type="text" name="subject" />
            </td>
        </tr>
        <tr>
            <td>
                <label>Message</label>
            </td>
            <td style="width:80%">
                   <textarea style="width:100%;height:300px" name="message" ></textarea>
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
                <br>
                <hr>
                <button type="submit" class="btn btn-primary">Cancel</button>
                <button id="send" type="submit" name="submit" class="btn btn-success">Submit</button>

            </td>
        </tr>
    </table>
</form>

сообщение отправляется, но в Gmail текст не отображается должным образом. Я обращаюсь к следующему изображению и доброжелательно вижу, что сообщение здесь показывает тег "", и именно поэтому они не работают. как можно сделать это работоспособным. введите описание изображения здесь

1 Ответ

0 голосов
/ 01 сентября 2018

В ваших заголовках вы должны указать, что отправляете HTML сообщение

$headers = "Content-Type: text/html; charset=UTF-8\r\n".
        "From: ".$_POST['from']. "\r\n" .
        "Reply-To: ".$_POST['reply']."\r\n" .
        "X-Mailer: PHP/" . phpversion();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...