在我的WordPress网站上,我正在尝试mail()函数的输出,但它无法返回输出,但会返回放置在while循环内的硬编码输出。
基本上我要问的是这段代码中的错误是什么,以及如何解决它。我宁愿接受我所做错的事情而不是“有固定代码;复制并粘贴”,如果可能的话。
我故意试图远离内置的WordPress功能和调用
修改:
当我echo $string;
显示预期输出格式符合我的预期时,ob_start()
和ob_end_clean()
之间的内容将被排除。
这些功能正在正确地获取数据,它只是没有包含在要发送的电子邮件中,正在发送它只是显示为空白。当以明文形式发送时,电子邮件内容如下
<html><br /><br /></html>
我只是检查了代码的输出,目的是向您显示,以便您可以看到结果,我注意到这包含在所有输出的电子邮件的位置,由于“奖金功能”我的一个插件,我不确定是哪一个,因为这不是我编码的。由于不符合声誉要求而包含内联,以发布两个以上的超链接。
<p>ward@halifaxonline.com.au<script type="text/javascript"> /* <![CDATA[ */ (function(){try{var s,a,i,j,r,c,l=document.getElementById("__cf_email__");a=l.className;if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})(); /* ]]> */ </script><br> <br> </p>
据我所知,脚本不能在电子邮件中运行,但肯定这不会导致显示其余代码失败,只是渲染脚本无用。
答案 0 :(得分:1)
第34行:
mail($to, 'Test', $string, $headers) ;
应该是
$sent = mail($to, 'Test', $string, $headers) ;
这就是为什么它一直说不发送邮件的原因。它已被发送,但您没有设置您正在检查的变量。