Электронная почта - как правильно обернуть ссылку "href" в сообщении электронной почты? - PullRequest
0 голосов
/ 03 апреля 2012

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

  $umessage .='<a href="'.home_url('/download.php?f=pdffiles/'.$filename).'"><a href="'.home_url('/download.php?f=pdffiles/'.$filename).'">'.$title.'</a>';
       }}

Что не так с одинарными кавычками? Отображается в электронной почте:

<a href="http://localhost/download.php?..............">file name</a>

Не думаю, что двойная кавычка поможет, верно?

РЕДАКТИРОВАТЬ # 2

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"

кажется, что это не будет работать ни в одном приложении электронной почты, кроме Apple Mail.

Есть идеи по этому поводу или, может быть, они неверны?

РЕДАКТИРОВАТЬ # 3

$umessage = "Thank you for downloading pdf. \r\n\r\n";
        $umessage .=    "Please click on the link below to download\r\n";
          if(count($selectfiles)>0)
        {
            foreach($selectfiles as $key)
            {
                $keyArray = explode('@',$key);

                $filename = $keyArray[1];

                $title = $keyArray[0];

      $umessage .='<p>Download '. '<a href="'.home_url('/download.php?f=pdffiles/'.$filename).'"><a href="'.home_url('/download.php?f=pdffiles/'.$filename).'">'.$title.'</a></p>';

}}

        $fm ='xxxx';
        $to='xxx';

        $subject = "Download Request from ". $name;
        $headers .= 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
        $headers .= 'From:<'.$fm.'> ' . "\r\n" . 'Reply-To: ' . $to;

        $uto      = $email;
        $usubject = "Thank you for Downloading our PDF";

        wp_mail($to, $subject, $message, $headers);
        wp_mail($uto, $usubject, $umessage, $headers);

Ответы [ 2 ]

2 голосов
/ 03 апреля 2012

Если вы отправляете письмо в виде обычного текста, то любое отправленное вами HTML-форматирование будет отображаться в виде простого текста. Это так же просто, как удалить HTML-форматирование из вашей электронной почты

$umessage .= 'download link: '.home_url('/download.php?f=pdffiles/'.$filename);
0 голосов
/ 03 апреля 2012

Относительные ссылки работают только в контексте веб-страницы.В сообщении электронной почты ссылка "/download.php?yadda" не имеет смысла, потому что нет узла, к которому она может быть присоединена.

Обойти это можно, используя полные URL-адреса в ссылках по электронной почте:

$umessage .='<a href="'.home_url('http://example.com/download.php?...

Вы МОЖЕТЕ также иметь возможность справиться с этим, используя тег <base> в своем HTML , но это не может быть правильно интерпретировано всеми почтовыми клиентами.Вам нужно проверить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...