【问题标题】:YII Mail Generate unwanted ascii code in HTML mailYII Mail 在 HTML 邮件中生成不需要的 ascii 代码
【发布时间】:2012-11-09 10:58:17
【问题描述】:

我只是通过复制示例来使用 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); 

并在查看文件“邮件”

<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 类型的转换,那会更合乎逻辑,但在这里我有他们两个,这很令人费解......

【问题讨论】:

  • 我更新了问题并添加了收到的邮件的标题,以显示标题类型似乎为 HTML 正确设置。另外我也许应该指定计算机安装了中文。

标签: yii swiftmailer


【解决方案1】:

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

Yii::app()->createAbsoluteUrl

在链接中将完美地完成这项工作。

【讨论】:

    猜你喜欢
    • 2019-08-26
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2013-07-27
    • 1970-01-01
    相关资源
    最近更新 更多