Я использую Zend_Mail для отправки текстовых сообщений через SMTP. В тестовой среде я заметил, что при сборе моих писем через клиентский браузер URL-адреса были преобразованы в гиперссылки, но граница между ссылкой и обычным текстом была составлена неправильно.Почему некоторые якорные тэги неверны?
Например, в приведенном ниже фрагменте эл. Почты вы можете видеть, что я отправил регистрационное письмо пользователю. Он включает параметры для «id» и «code». Вы увидите, что в этом случае клиент браузера решил, что «id» является частью гиперссылки, но «код» - нет.
please follow this link <a href="http://mydomain.com/user/validate/id/18">http://mydomain.com/user/validate/id/18</a>/code/1a0d917c1512c700f7237ae1f3727e47 If you did not...
Иногда «граница» рисуется в произвольном месте - например, на полпути через поле кода!
Когда вы собираете электронную почту через клиента, например Outlook, проблема не возникает.
Предположительно это какая-то несовместимость наборов символов между моей средой PHP и моим клиентом браузера. Сказав это, я использую стандартную версию PHP для установки на складе, и у меня не было проблем с получением ссылок с других сайтов в моем браузере. (Клиент браузера предоставляется как часть учетной записи веб-мастеров.)
Любые идеи?
UPDATE: Вот код, который генерирует ссылку. Пробовал все виды комбинаций, включая СРВ, одинарные кавычки, двойные кавычки, ... тот же результат ...
$id = $options['id'];
$code = $options['validation'];
$link = "http://mydomain.com/user/validate/id/" . $id . "/code/" . $code;
$body = 'Thanks for registering ... please follow this
link ' . $link . ' If you did not request ....please ignore it.';
$this->setBodyText($body);
Можете ли вы показать код, который генерирует этот якорь? – Phil