2012-11-09 1 views
0

Я использую YII-Mail, просто скопировав образец, но всегда получаю некоторые атрибуты ascii в моих сгенерированных ссылках Откуда они взялись и как их избежать?YII Mail Создайте нежелательный код ascii в HTML-почте

$message = new YiiMailMessage; 
$message->view = 'mail'; 
$message->setBody(array('model'=>$model), 'text/html'); 
$message->subject = Yii::t('tr','my subject'); 
$message->addTo('[email protected]'); 
$message->from = '[email protected]'; 
Yii::app()->mail->send($message); 

и просмотра файла 'почты'

<h1><?php echo(Yii::t('tr','This is HTML mail')); ?></h1> 
<?php echo CHtml::link('Mylink', array('controller/view', 'id'=>$model->id)); ?> 

Приведенное источник электронной почты выглядит следующим образом

MIME-Version: 1.0 
Content-Type: text/html; charset=utf-8 
Content-Transfer-Encoding: quoted-printable 

<h1>Incoming goods</h1> 
<a href=3D"/testdrive/index.php?r=3Dcontroller/v=iew&amp;id=3D234137">Mylink</a> 

Вы могли заметить 3D только после знака =. Было бы логичнее, если бы у меня был знак = ИЛИ код 3D-вида преобразования, но здесь у меня есть оба из них, что довольно озадачивает ...

+0

Я обновляю вопрос и добавляю заголовок полученной почты, чтобы показать тип заголовка, который правильно настроен для HTML. Также я, может быть, должен указать, что на компьютере установлен китайский язык. – CedSha

ответ

0

Фактически, дополнительные символы кодируются с возможностью кодирования, Я думал, где причина, по которой ссылка в электронной почте не может работать. Но на самом деле ссылка не работает, потому что это относительная связь не абсолютная! Поэтому с использованием правильного

Yii::app()->createAbsoluteUrl 

по ссылке будет выполнять работу отлично.