更新:(2/29/12)好的,所以我再次针对完全不同的服务器和托管公司的不同客户端遇到同样的问题.
再一次,只有mail()的脚本正确发送电子邮件没有问题.然后我添加了类似于我下面的代码并将其与paypal IPN连接起来.每次新的付款进入,IPN触发,数据都会保存到数据库,但mail()函数不起作用.
但是,我遇到了一个有趣的问题.我使用相同的脚本从paypal的沙盒中测试了IPN火灾并且发送了电子邮件.
这是paypals生产IPN的问题,也许是它将数据发布到脚本的方式?
这里的任何信息都非常有用,因为我目前使用cronjobs的解决方案很草率.
结束更新
我已正确配置我的paypal IPN侦听器,因为它在新付款时将所有信息写入数据库.现在我正在尝试设置mail()函数,向我发送新付款的电子邮件警报.
我之前已经为另一个项目做了这个,但我不知道为什么这次不能正常工作.我没有在error_log中收到任何错误,其余的脚本运行正常.
我已经测试过以确保服务器确实使用独立的mail()脚本发送邮件.我真的在这里迷茫和迷茫.
这是我的代码:
mail('test@email.com','New Order','From: support@website.com'); define("_VALID_PHP",true); require_once('../PHP/init.PHP'); $item_number = $_POST['item_number']; $payment_gross = $_POST['payment_gross']; $payment_status = $_POST['payment_status']; $payer_email = $_POST['payer_email']; $txn_id = $_POST['txn_id']; if ($payment_status == 'Completed') { $query = $db->query("SELECT price,id,uid FROM invoice WHERE md5='$item_number'"); $row = $db->fetch($query); $iid = $row['id']; $uid = $row['uid']; if ($row['price'] == $payment_gross){ $invoiceUpdate['paid'] = 1; $update = $db->update('invoice',$invoiceUpdate,"md5='$item_number'"); } } $data['iid'] = $iid; $data['uid'] = $uid; $data['payment_status'] = $payment_status; $data['payer_email'] = $payer_email; $data['payment_gross'] = $payment_gross; $data['txn_id'] = $txn_id; $db->insert('payment',$data);
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。