【发布时间】:2012-08-17 00:44:38
【问题描述】:
我正在使用 paypal 测试我的网站,看看我是否收到了钱并且我的系统正在更新
当我要求发送包含 POST 中所有信息的电子邮件时,我收到的是空电子邮件。谁能告诉我我的代码有什么问题
$req = 'cmd=_notify-validate';
$req .= payment_safe_check ($_POST);
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$mode = strtolower($paymod_data['PAYMENT_MODE']);
mail("to email", "subject",serialize($_POST) );
if ($mode == 'test')
{
$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
}
else
{
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
}
if (!$fp)
{
// HTTP ERROR
die ("Error");
}
else
{
// NO HTTP ERROR
fputs ( $fp, $header . $req );
while (!feof($fp))
{
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0)
{
processing ( $_POST );
}
else if (strcmp ($res, "INVALID") == 0)
{
}
}
fclose ($fp);
}
【问题讨论】:
-
发送邮件的代码在哪里?
-
我删除了它。是在 $mode 之后。
-
我已将邮件添加到我的代码的相同位置。当我收到电子邮件时,它完全是空白的。
-
您确定 $_POST 包含变量吗?您可以在 mail() 行之前对其进行 var_dump 以确保吗?
-
这就是我所做的。以文本格式发布所有验证邮件。