2014-02-27 69 views
0

我上設置通過我的PayPal IPN腳本自動發送的電子郵件的響應,但是工作下面的代碼將導致PayPal的沙盒失敗。PHP郵件功能造成的錯誤

// PAYMENT VALIDATED & VERIFIED! 

$email = $_POST['payer_email']; 
$password = mt_rand(1000, 9999); 

$to  = $email; 
$subject = 'Download Area | Login Credentials'; 
$message = ' 

Thank you for your purchase 

Your account information 
------------------------- 
Email: '.$email.' 
Password: '.$password.' 
------------------------- 

You can now login at http://yourdomain.com/PayPal/'; 
$headers = 'From:[email protected]<script type="text/javascript"> 
/* <![CDATA[ */ 
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})(); 
/* ]]> */ 
</script>' . "\r\n"; 

mail($to, $subject, $message, $headers);  

是否存在某種簡單錯誤或腳本導致錯誤的更深層原因。請記住,我是新手,這是我從http://code.tutsplus.com/tutorials/using-paypals-instant-payment-notification-with-php--net-3271複製並粘貼的代碼。

此外,沒有從該電子郵件我使用必須位於我使用主辦的腳本在同一臺服務器上?

刪除郵件以避免泄露個人信息。

+0

什麼錯誤? –

+0

請不要在郵件中以明文形式發送任何密碼。 –

+0

作爲參考,IPN沙盒不會告訴我錯誤是什麼,我只知道它不起作用。 –

回答

2

這是什麼?

$headers = 'From:[email protected]<script type="text/javascript"> 
/* <![CDATA[ */ 
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})(); 
/* ]]> */ 
</script>' . "\r\n"; 

您的郵件標題中不能包含HTML或JavaScript。把那些可能導致你的錯誤的廣告拿出來。

$headers = 'From:[email protected]'; 
+0

很想知道那裏有什麼 – 2014-02-27 02:18:14

+0

正如我在我的帖子中所說的,我只是從教程網站上拿了代碼。我對PHP不太好。另外,我無意使用密碼,我只是在那裏,因爲我從來沒有擺脫它。我會試試你說的約翰。 –

+0

更新:上述解決方案允許IPN成功發送,但作爲OP中的狀態,我是否需要將FROM:Email需要託管在同一臺服務器上? –