2

我正在使用以下 php 代码将电子邮件发送到 wordpress 中的不同邮件服务器。

home_url value =  http://ipaddress/website/

$url= home_url()."/?page_id=309&pin=".$pin;
 $to=$email;
 $subject="Registration Successful ! ";

 $password=rand(10000, 99999);

 $mess .="<p>Dear ".$name .",</p><p></p>";
 $mess .="<p>Please find link below to active your account. </p><p></p>"; 
 $mess .="<p></p>".$url."<p></p>";
 $mess .="<p><a href=' ".$url." '>".$url."</a></p><p></p>";
 $mess .="<p> Thanks, </p><p></p>";
 $mess .=" <p>Test Support Team </p><p></p>";
 //$headers = "Content-type: text/plain; charset = ".$chrst. "\r\n";
 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 $from_name = get_bloginfo('name');

 $from_email = get_option('opt_glocal_site_email');

 if ($from_email) {

  $headers .= 'From: '.$from_name.' <'.$from_email.'>'. "\r\n";

 } else {

  $headers .= 'From: '.$from_name. "\r\n";

 }

 $send = mail ($to, $subject, $mess, $headers);

它向用户发送帐户激活超链接,但问题是在雅虎邮件中无法点击超链接。

相同的代码完美地向 gmail、hotmail 发送电子邮件,并且链接是可点击的,任何人都可以指导我可能是什么问题。

在 yahoo 中检查 Element 以获取该链接:

<a rel="nofollow" target="_blank" onclick="return theMainWindow.showLinkWarning(this)" class="removed-link" id="yui_3_16_0_1_1411592352265_2952">http://ipaddress/website/?page_id=309</a>

**注意:我已经在使用带有 href 属性的“http://”。**

任何帮助,将不胜感激。

4

3 回答 3

3

当您向 yahoo 电子邮件地址发送电子邮件时,如果您不包含 rel="nofollow",他们的服务器将破坏您的链接。我在尝试通过 wordpress 发送电子邮件时遇到了这个问题。

您的代码的修订版本应如下所示:

$mess .="<p><a rel="nofollow" href=' ".$url." '>".$url."</a></p><p></p>";

我认为这是雅虎试图阻止人们从爬虫获取付费链接。
如果您实现了那行代码,那么您的链接应该可以在 yahoo 中使用。

于 2015-03-13T04:41:19.227 回答
2

可能您需要像这样将链接从 http 更改为 https

<a href="https://yoursite.com"></a>

它为我工作

于 2017-05-19T12:12:36.597 回答
0

您可以使用stripslashes()电子邮件正文去除多余的斜杠,然后查看它是否有效。我遇到了类似的问题,stripslashes()对我来说效果很好

 $mess=stripslashes($mess);
于 2017-11-26T06:58:10.797 回答