PHP mail () портит HTML-ссылки - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть функция mail (), идущая в PHP-скрипте.Он отправляет HTML просто отлично - заголовки настроены правильно.Однако неверно представление HREF - они все искажены в Thunderbird.

Вот что отправлено:

<a href='/index.php?page=blahdeblah'>Click</a>

Но полученоthis:

Click</index.php?page=blahdeblah>

Обратите внимание, что текст ссылки находится перед тегом, закрывающий тег отсутствует (даже если в исходную строку PHP включен один IS)

заголовки, которые я использую, такие:

$headers = 'From: noreply@' . $url_short . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

(используются несколько переменных PHP)

Может кто-нибудь помочь с этой специфической проблемой?

Ответы [ 4 ]

1 голос
/ 09 ноября 2010

Попробуйте изменить свой якорный тег на:

<a href="http://www.domain.com/index.php?page=blahdeblah">Click</a>

  • добавьте префикс вашего полного URL домена к ссылке
  • заключить в hrefатрибут в двойных кавычках вместо одинарных (атрибуты HTML всегда должны быть в двойных кавычках, даже если допускаются одинарные кавычки)
1 голос
/ 09 ноября 2010

ceejayoz упомянул об этом, но: ссылка на относительный URL не будет работать, как вы ожидали, и может быть причиной проблемы. Если это не решит проблему, посмотрите, происходит ли это и у других читателей.

1 голос
/ 09 ноября 2010

Если вы проверите источник сообщения, и оно выглядит правильно, то, вероятно, Thunderbird отображает неправильно. Если вы видите ошибку в источнике письма, возможно, проблема в вашем PHP-скрипте.

0 голосов
/ 09 ноября 2010

Можете ли вы показать весь свой почтовый () звонок? Это может быть просто проблемой из-за неправильного использования одинарных кавычек.

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