Направление и выравнивание текста в электронной почте, отправленной по электронной почте () с использованием PHP

Я отправляю автоматическое электронное письмо через php. Электронная почта содержит иврит, направление справа налево. Вот мой код для составления основной части сообщения:

            $emailMessage ='
            <html lang="HE">
                <head>
                <title>
                    job-skills | הצורפות
                </title>
                </head>
                <body style="text-align:right; direction:rtl;">
                    <table>
                        <tr>
                            <td><h3>תודה על הצטרפותך</h4></td>
                        </tr>
                        <tr>
                            <td>על מנת להצטרף סופית לאתר עליך ללחץ על הלינק הבא:</td>
                        </tr>
                        <tr>
                            <td><a href="http://localhost/W-DB/php/registration_and_login/confirm_registration.php?email=' .$registrationEmail .'&tempPass=' . $tempPass . '>לחץ כאן</a></td>
                        <tr>
                        </tr>
                        <tr>
                            <td>בברכה,</td>
                        </tr>
                        <tr>
                            <td><h2>JOb-Skills</h2></td>
                        </tr
                    </table>
                </body>
            </html>

по-прежнему текст выровнен по левому краю и по направлению слева направо.


person vlio20    schedule 09.10.2012    source источник
comment
Вероятно, это проблема с возможностями почтовых клиентов (стратегия рендеринга RichText/HTML). Правильно ли HTML доставляется вашему клиенту и правильно ли вы установили Content-Type и другие заголовки? Пожалуйста, предоставьте дополнительную информацию.   -  person matthias    schedule 09.10.2012
comment
Это сообщение, что я больше ничего не посылаю. Что еще я должен добавить к нему?   -  person vlio20    schedule 09.10.2012


Ответы (4)


Вот мой код:

<?php 
$to ="mail id";
$from = "mail id";
$sub = "Hebrew";
$message = '<html lang="HE">
                <head>
                <title>
                    job-skills | הצורפות
                </title>
                </head>
                <body style="text-align:right; direction:rtl;">
                    <table>
                        <tr>
                            <td><h3>תודה על הצטרפותך</h4></td>
                        </tr>
                        <tr>
                            <td>על מנת להצטרף סופית לאתר עליך ללחץ על הלינק הבא:</td>
                        </tr>
                        <tr>
                            <td>
    <a href="#">לחץ כאן</a></td>
                        <tr>
                        </tr>
                        <tr>
                            <td>בברכה,</td>
                        </tr>
                        <tr>
                            <td><h2>JOb-Skills</h2></td>
                        </tr
                    </table>
                </body>
            </html>';
$headers = "From:" . $from;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
if(mail($to,$sub,$message,$headers)) echo "success";



?>
person Varun Bansal    schedule 10.10.2012
comment
Забавно, в Gmail все работает нормально, а в Outlook все еще не в том направлении. Спасибо - person vlio20; 11.10.2012
comment
@ vlio20 У меня такая же проблема. Вы нашли способ обойти это? - person Gofilord; 03.11.2016

Попробуйте добавить dir="rtl" в свой HTML-тег.

person Varun Bansal    schedule 09.10.2012

Пожалуйста, обратитесь к стилю @Varun, размещенному в теле: <body style="text-align:right; direction:rtl;"> Только после того, как я добавил этот стиль в тело, он работал и в gmail, до этого он работал только в Outlook.

person YanivN    schedule 15.05.2014

введите здесь описание изображения

Он отлично работает с кодом, который я упомянул. Пожалуйста, взгляните на прикрепленное изображение.

person Varun Bansal    schedule 10.10.2012