在向基于DJango的接收方发送邮件时,什么可能导致DJango IPN工具失败?

在向基于DJango的接收方发送邮件时,什么可能导致DJango IPN工具失败?,django,paypal,paypal-ipn,Django,Paypal,Paypal Ipn,我一直在努力让这个片段发挥作用: 我在我的开发机器上运行Django,并将一个端口从路由器转发到我的机器 为了测试dev服务器是否可以从我的dev网络外部访问,我wgethttp://www.myserver.com:8000/IPN来自远程服务器。果然,我在远程服务器端报告了一个405方法notallowed,这很有意义,因为脚本只处理post。在开发服务器日志中,我看到: [16/Nov/2011 02:17:09] "GET /IPN/ HTTP/1.0" 405 0

我一直在努力让这个片段发挥作用:

我在我的开发机器上运行Django,并将一个端口从路由器转发到我的机器

为了测试dev服务器是否可以从我的dev网络外部访问,我
wgethttp://www.myserver.com:8000/IPN
来自远程服务器。果然,我在远程服务器端报告了一个405方法notallowed,这很有意义,因为脚本只处理post。在开发服务器日志中,我看到:

[16/Nov/2011 02:17:09] "GET /IPN/ HTTP/1.0" 405 0
…据我所知,URL是外部可访问的

但是,如果我在paypal沙箱中使用相同的url,我在我的开发服务器上根本没有得到任何记录,paypal会发出以下消息:

IPN传递失败。无法连接到指定的URL。请验证URL并重试

我做错了什么?有没有更详细的测试方法

[编辑]

好的,再近一点;看起来我的开发服务器现在听到了paypal的响应,但随后抛出了一个代码500的内部服务器错误:

收到的数据:{u'last_name':u'Smith',u'txn_id':u'491116223',u'receiver_email':u'seller@paypalsandbox.com“付款”状态:已完成,“纳税”:u'2.02,“付款人”状态:u'unverified“,u'residence\u country”:u'US',u'invoice':u'abc1234',u'address\u state':u'CA',u'item\u Name 1':u'something',u'txn\u type':u'cart',u'item\u Number 1':u'AK 1234',u'quantity1“:u'1',u'payment\u date':u'14:03:49 2011年11月16日太平洋标准时间',u'first\u name':u'John',u'mc\u shipping':u'3.02',u'address\u street':u'123,任意街道',u'charset':u'windows-1252',u'custom':u'xyz123',notify version':u'notify'2.4',u'address\u name':u'John Smith':u'address\u-zip':u'John Smith',u'address\u-zip':u'95131',u'test ipn':u'1',u'id':u'id'Estbueried01',u'mc_handling1':u'1.67',u'verify_sign':u'AwL9R.WVx6Ikf1MJlP6m-Q1rVsIZASse3ZrX9.S5krSO9JhgGAQfeDuj',u'mc_handling':u'2.06',u'mc gross_1':u'address_country_code':u'u'u'US':u'US';u'US';u'address_'u'city':u's':u's':u'San Jose';u'status';u'address'status':u'status';u'status':u'status';u's';u's';u'er_电子邮件“:u”buyer@paypalsandbox.com“,u'payment_type':u'instant',u'mc_shipping1':u'1.02'}

[16/Nov/2011 22:04:01]“POST/IPN/HTTP/1.0”500 343


你试过普通IP吗?可能是DNS问题(在paypal端)?嗯…刚刚发现:@Pasty:好主意。我试过了,但它只是给了我
IPN传递失败。无法连接到指定的URL。请验证URL并重试。
好的,更改为在端口80上运行至少是将IPN传递到我的服务器,但现在我得到
IPN传递失败。HTTP错误代码403:禁止
是,IPN只允许在端口80和443上使用。PayPal还要求HTTP状态响应在200范围内(例如200 OK)。