首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >梨邮件剥离环节

梨邮件剥离环节
EN

Stack Overflow用户
提问于 2015-09-20 12:35:14
回答 2查看 111关注 0票数 0

我有个奇怪的。使用Pear,我将发送一个带有链接到子域http://mysub.mydomain.co.uk的HTML

代码语言:javascript
复制
$body='<html><body><strong>Hello '.$forename.'</strong><br><br>Thank you for registering your details. To complete the process, please follow the link below in this email.<br><br>
    <a href="http://mysub.mydomain.co.uk?V='.$myvalue.'">Complete Verification Here</a></body></html>';
$headers = array ('From' => $from,'To' => $to,'Subject' => $subject);
$mime = new Mail_mime();
$mime->setHTMLBody($body); 
$headers = $mime->headers($headers); 
$smtp = Mail::factory('smtp', 
        array ('host' => $host,
            'auth' => true,
            'username' => $username,
            'password' => $password)
        );
$mail = $smtp->send($to, $headers, $body); 

电子邮件被发送的很好,如果我从发送电子邮件的页面将电子邮件的正文打印到屏幕上,那么链接就能正常工作。然而,当它在myvalue中的电子邮件中到达时,它会将链接中的前两个字符从我的值中删除。例如,如果myvalue=12345678表示myvalue=345678并不正确地显示链接,则将上面的链接显示为ttp://mysub.mydomain.co.uk/?V=345678。注意,它移除http地址中的H,并在?v=和前2位12之前添加一个正斜杠。当它不正确地将链接显示为http链接时,它就无法打开链接。电子邮件也不会作为HTML电子邮件到达Gmail,也没有链接。

知道我在这里错过了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2015-09-21 07:13:27

最终发现了这个问题

在正文中,我必须替换正文中的每一处

代码语言:javascript
复制
"

使用ASCII代码

代码语言:javascript
复制
&#039

现在工作很好

票数 0
EN

Stack Overflow用户

发布于 2015-09-30 12:58:43

您不必在mail_mime包之外操纵正文文本,您需要用它来对主体进行编码:

代码语言:javascript
复制
$mime = new Mail_mime();
$mime->setHTMLBody($body);
$mimebody = $mime->get();
$headers = $mime->headers($headers);
$smtp = Mail::factory(
    'smtp',
    [
        'host' => $host,
        'auth' =>     true,
        'username' => $username,
        'password' => $password,
        'port' => $port
    ]
);

// send email
$mail = $smtp->send($to, $headers, $mimebody);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32679480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档