Я использую 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, и у меня не было проблем с получением ссылок с других сайтов в моем клиенте браузера. (Клиент для браузера предоставляется как часть учетной записи веб-мастера.)
Есть идеи?
ОБНОВЛЕНИЕ: Вот код, который генерирует ссылку. Пробовал всевозможные комбинации, включая EOT, одинарные кавычки, двойные кавычки... Тот же результат...
$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);