【问题标题】:Send mail via out.php in order to track clicks of a button通过 out.php 发送邮件以跟踪按钮的点击
【发布时间】:2012-11-22 03:10:10
【问题描述】:

每次有人点击按钮时,我都需要对其进行跟踪。我创建了一个文件“out.php”来向我发送电子邮件并重定向到我页面外的链接。此代码重定向但邮件不发送。

<div class="buyprod">
<a target="_blank" href="http://xxx.com/out.php?url=<?php echo urlencode($this->product['from'])?>">
<img src="http://xxx.com/buybtn.jpg" alt="buy"/>
</a>
</div>  

out.php

<?php
$url = urldecode($_GET['url']);
header("Location: ".$url);
$message = "Someone clicked buy: ";
$link = $this->product['from'];
mail('xxx@xxx.com', '@Buy', $message.$link);
exit;

有人知道这段代码有什么问题吗? 提前致谢!

【问题讨论】:

    标签: php email tracking urlencode urldecode


    【解决方案1】:

    您正在调用 $this-&gt;product['from'] 中不存在的类 out.php。这将使您的文件出错。此外,在使用mail() 时,您需要设置一个“发件人:”标头。见stackoverflow.com/questions/6988051/php-mail-function-headers#6988085

    out.php 更改为 -

    <?php
    $url = urldecode($_GET['url']);
    $message = "Someone clicked buy: ";
    $link = $_GET['url'];
    mail('xxx@xxx.com', '@Buy', $message.$link, 'From: email@website.com');
    header("Location: ".$url);
    exit;
    ?>
    

    【讨论】:

      【解决方案2】:

      header() 移动到末尾,就在exit 之前

      此外,您的邮件功能应遵循以下格式:

      mail($to, $subject, $message, $headers);
      

      【讨论】:

      • 嗨!谢谢回答。我尝试在退出前移动 header() ,现在它没有重定向。也没有发送邮件。
      • 它在另一个窗口中打开这个空白页面:mysite.com/…
      【解决方案3】:

      您正在调用 $this-&gt;product['from'],这在您的 out.php 中不存在

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-05
        • 2013-06-29
        • 1970-01-01
        • 2015-10-28
        • 1970-01-01
        • 1970-01-01
        • 2021-10-09
        • 1970-01-01
        相关资源
        最近更新 更多