2016-05-08 2 views
0

Я пытаюсь отправить текст со ссылкой на php mail() как обычный текст. Ссылка выглядит так: https://example.com?en=1509 Но по почте я получаю ссылку, похожую на это https://example.com?en09. Если я отправлю сообщение «=», это не проблема, но если у меня есть равное число и оно больше не работает.PHP вопрос отправки почты со ссылкой и получения информации

Вот код, который я использую для отправки почты:

$header[] = 'MIME-Version: 1.0'; 
$header[] = 'Content-Type: text/plain; charset=UTF-8'; 
$header[] = 'Content-Transfer-Encoding: quoted-printable'; 
$header[] = $from; 

mail($mail,$titel, $text, implode("\r\n",$header)); 

Может кто-то помочь мне исправить это?

[Редактировать]

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

MIME-Version: 1.0 
Content-Type: text/plain; charset=UTF-8 
Content-Transfer-Encoding: quoted-printable 
From: admin <[email protected]> 
Message-Id: <[email protected]> 
Date: Sat, 14 May 2016 23:38:35 +0200 (CEST) 

https://example.com?en=1545 

Я также попытался отправить ссылку в виде текста/html и обернуть ее в соответствующий тег, но ничего не получилось. Ссылка всегда сломана.

Благодаря

+0

попытаться добавить заголовок $ headers. = 'Content-type: text/html; charset = utf-8 '. "\ Г \ п"; вместо 'Content-Type: text/plain; кодировка = UTF-8' ; – Poria

+0

Возможный дубликат http://stackoverflow.com/questions/15711700/php-mail-how-to-put-an-html-link-in-an-email и http://stackoverflow.com/questions/29733471/ send-link-using-php-mail-function – Poria

+0

К сожалению, я должен был упомянуть, что я уже пробовал это. Это не помогает. Кроме того, это не дубликат двух упомянутых вопросов, потому что я не хочу отправлять ссылку href, я хочу отправить обычную ссылку. – Sikarjan

ответ

0

Просмотрев исходный код различных писем, которые я нашел эту строку в заголовке:

Content-Transfer-Encoding: 7bit 

После изменения мой заголовок PHP для этого:

$header[] = 'MIME-Version: 1.0'; 
$header[] = 'Content-Type: text/plain; charset=UTF-8'; 
$header[] = 'Content-Transfer-Encoding: Content-Transfer-Encoding: 7bit'; 
$header[] = $from; 

mail($mail,$titel, $text, implode("\r\n",$header)); 

Я получил это работает. Ссылки отображаются правильно.

0

Попробуйте добавить заголовок

$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

вместо 'Content-Type: text/plain; charset=UTF-8';

Надеется, что это помогает!

Смежные вопросы