【发布时间】:2011-12-16 05:54:13
【问题描述】:
我正在使用 Zend_Mail 通过 SMTP 发送文本电子邮件。在测试环境中,我注意到通过浏览器客户端收邮件时,URL被转换为超链接,但是链接和普通文本之间的边界被画错了。
例如,在下面的邮件sn-p中,你可以看到我已经给用户发送了一封注册邮件。它包括“id”和“code”的参数。您将看到,在这种情况下,浏览器客户端已确定“id”是超链接的一部分,但“代码”不是。
please follow this link <a href="http://mydomain.com/user/validate/id/18">http://mydomain.com/user/validate/id/18</a>/code/1a0d917c1512c700f7237ae1f3727e47 If you did not...
有时“边界”是在任意位置绘制的 - 例如,在代码字段的一半处!
在通过 Outlook 等客户端收邮件时,似乎没有出现问题。
大概这是我的 PHP 环境和浏览器客户端之间的某种字符集不兼容。话虽如此,我使用的是标准的 PHP 安装,并且在我的浏览器客户端中接收来自其他站点的链接没有问题。 (浏览器客户端作为网站管理员帐户的一部分提供。)
有什么想法吗?
更新:这是生成链接的代码。尝试了各种组合,包括EOT、单引号、双引号...相同的结果...
$id = $options['id'];
$code = $options['validation'];
$link = "http://mydomain.com/user/validate/id/" . $id . "/code/" . $code;
$body = 'Thanks for registering ... please follow this
link ' . $link . ' If you did not request ....please ignore it.';
$this->setBodyText($body);
【问题讨论】:
-
您能展示生成该锚点的代码吗?
标签: zend-framework email-client zend-mail