YII邮件在HTML邮件中生成不需要的ascii代码

时间:2012-11-09 10:58:17

标签: yii swiftmailer

我只是通过复制样本来使用YII-Mail,但我总是在生成的链接中获得一些ascii字符 它们来自何处以及如何避免它们?

$message = new YiiMailMessage;
$message->view = 'mail';
$message->setBody(array('model'=>$model), 'text/html');
$message->subject = Yii::t('tr','my subject');
$message->addTo('me@me.com');
$message->from = 'you@you.com';
Yii::app()->mail->send($message); 

并在视图文件'mail'

<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。如果我有符号= OR代码3D类型的转换需要更合乎逻辑但是在这里我有两个非常令人费解......

1 个答案:

答案 0 :(得分:0)

事实上额外的字符是引用可打印的编码,我在想它们电子邮件中的链接无法工作的原因。但实际上链接不起作用,因为它是相对链接不是绝对的!所以使用正确的

Yii::app()->createAbsoluteUrl
链接中的

将完美地完成工作。