paypal-ipn – Paypal IPN和mail()函数

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了paypal-ipn – Paypal IPN和mail()函数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_304_0@ @H_301_4@
更新:(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);
@H_301_4@

解决方法

由于您的邮件功能返回true并且您的代码看起来正确,我认为您应该检查邮件日志,因为问题可能与代码无关.尝试发送邮件,然后检查服务器上的邮件日志…一旦我失去了两天试图找出类似的问题,最后问题是我的邮件没有被其他服务器接受.

找到你可以做的邮件日志(从shell):

updatedb;
locate mail.log

要么

locate maillog

这假设您使用的是Linux,但问题也可能存在于Windows上

@H_301_4@ @H_301_4@
@H_301_4@
@H_301_4@
本图文内容来网友网络收集整理提供,作为学习参考使用,版权属于原作者。

猜你在找的PHP相关文章

php中有以下五种方法来检测变量是否为空,那么这五种方法之间有什么区别呢?下面我们就来一起看看吧。1、isset功能:判断变量是否被初始化说明:它并不会判断变量是否为空,可以用来判断数组中元素是否被定义过。
字符串函数 strlen:获取字符串的长度,获取的是字符串的字节长度 字符:一个完整的符号,a,中 字节:由8位组成 一个字符最少等于一个字节:ASCII码,a,b,通常英文字符都是占用一个字节 中文在gbk或者gb2312编码里,占用两个字节 中文在utf-8里最少占用3个字节,有可能是4个字节 substr:截取字符串,以字节为单位截取 string sub...
数据的操作无外乎就是对数据的增删改查增加数据基本方式:insert into 表名 [(字段列表)] values (值列表);主键冲突:在插入数据的时候,主键值已经存在了,但是要求是必须使用该主键字段 实现目标:如果该主键不存在那么就增加记录,如果存在,就修改部分字段的值1.使用主键冲突方式语法:insert into 表名 values(值列表) on dup...
范式:Normal Format规定的一种设计方式范式特点:范式有很多,从低级到高级有六级左右,低级往高级一级比一级要求严格。关系型数据库通常设计只需要满足其中一,满足第三范式即可。满足第三范式必须先满足第二范式,第二范式又必须先满足第一范式。第一范式:1NF数据表的设计的字段中,每个字段都不能再分,每个字段都必须是最小的不可分割的单位(原子性) 讲师代课表 要知...
在字段类型之后,用于对当前字段进行一系列的约束的内容(限制内容的情况) 字段属性:null/not null,Primary key,auto_increment,unique key,comment,defaultnull表示字段的值可以为空(在进行数据插入的时候,该字段可以不给数据),not null表示不能为空,必须要给定值(不能是null)default默...
MySQL中也分为三大数据类型:数值型,字符型,时间日期型 数值型数值型分为整数型和小数型(包含小数部分的数据类型)整型mySQL中光整数型数据类型就有五种:tinyint,smallint,mediumint,int,Bigint tinyint:迷你整型,占用1个字节保存数据,能够表示256个数值 smallint:小整型,占用2个字节保存数据,能够表示6...
校对集就是数据库数据进行比较的时候所采用的比较方式。 A =======> 01000001 =======> 65 a =======> 01100001 ========> 97校对集有三种比较方式 _bin:使用二进制进行比较(区分大小写) _ci:(case insensitive),大小写不敏感,不区分大小写(将某个字符转变成...
1.mytable1存储的数据是utf8字符集(在创建表的时候,指定了表的数据存储字符集为utf8)2.cmd控制台只能是gbk格式的数据:说明cmd下只能输入和显示gbk格式的数据3.set names gbk的功能 客户端与服务端进行不同编码的通信的原理 了解数据库的字符集 查看数据库支持哪些字符集?show character set; mysql支持39种字...

脚本宝典总结

以上是脚本宝典为你收集整理的paypal-ipn – Paypal IPN和mail()函数全部内容,希望文章能够帮你解决paypal-ipn – Paypal IPN和mail()函数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。