使用贝宝IPN通过电子邮件发送随机字符串


Using paypal IPN to send a random string via EMAIL

好吧,我切入正题,我有这样的代码,它会产生一个随机字符串:

function random_string()
{      
    $character_set_array = array();
    //$character_set_array[] = array('count' => 2, 'characters' => 'AA');
    $character_set_array[] = array('count' => 8, 'characters' => '0123456789');
    $temp_array = array();
    foreach ($character_set_array as $character_set) {
        for ($i = 0; $i < $character_set['count']; $i++) {
            $temp_array[] = $character_set['characters'][rand(0, strlen($character_set['characters']) - 1)];
        }
    }
    shuffle($temp_array);
    $pinstart = 'AA';
    $pinend = implode('', $temp_array);
    $pin = $pinstart.$pinend;
    echo $pin;
}

然后在我的贝宝IPN我有这个:

if($p->ipn_data["mc_gross"] > 0 && strcmp ($p->ipn_data["business"],$EMAIL) == 0 && ($p->ipn_data["item_number"]) == 1)  {
         $user = $p->ipn_data["custom"];
             $date = $p->ipn_data["payment_date"];
             $prodid = $p->ipn_data["item_number"];
             $amount = $p->ipn_data["mc_gross"];
             $amountTickets = 1;
             $email = 'email@hotmail.com';
             $subject = '[CODE] - Thank you for your donation';
             $message = 'Your CODE IS, <? echo random_string(); ?>';
             mail("$payer_email", "$subject",
             $message.random_string(), "From: $email" );
             $user = str_replace("_", " ", $user);
             $user = str_replace("-", " ", $user);
             $user = mysql_real_escape_string($user);
         }

它发送电子邮件,但它的"你的代码是,它不会发布随机字符串。"

我试过放入$pin,$pin=random_string();print$pin nothing work

random_string函数中将echo $pin;更改为return $pin,因为您希望它返回字符串,而不是当场打印出字符串,然后

$message = 'Your CODE IS, ' . random_string();

random_string应使用return而非echo

然后

...
 $subject = '[CODE] - Thank you for your donation';
  $message = 'Your CODE IS,'. random_string();
  mail("$payer_email", "$subject",
...