我試圖通過電子郵件向新用戶發送帳戶激活鏈接。我在Yii2中使用默認郵件程序。我通過使用視圖文件'activation_request_email'生成以下代碼來生成電子郵件正文。Yii2 - 生成的電子郵件中的額外字符的輸出
$emailMessage = Yii::$app->mailer->compose('activation_request_email', ['userModel' => $this]);
然後在視圖文件我用下面的代碼生成激活鏈接:
<?= Html::a ('Activation Link', ["site/activation", "key" => $userModel->email_activation_key])?>
發送成功,但生成的電子郵件信息,包括消息鏈接總是包含一些額外的字符,如「3D」和「=」。象下面這樣:
<a href=3D"/tbpv2/web/site/acti=vation?key=3DfW_9XM-bdxXDHCTEwPTAPL1wwKGcc3">Activation Link</a>
配置爲郵件收發器部件有:
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => true,
],
在消息生成HTML標題的摘錄是如下:
<head> <meta http-equiv=3D"Content-Type" content=3D"text/ht=ml; charset=3DUTF-8" /> <title> Reset Token</title>= </head>
什麼可以原因嗎?
使用'useFileTransport = true'表示您不發送發送郵件到真實的電子郵件地址。 – scaisEdge
你確定你的代碼中的'href'部分是可以的嗎?看起來像引號之前的'3D'不應該在那裏,再加上鍊接 - 'acti = vation'看起來很奇怪。 – Joe
@Joe是的,「3D」和「=」字符在生成的消息中任意出現。 –