当用户在Facebook上添加评论时发送电子邮件评论框

问题描述:

前一段时间,我在我的网站上添加了Facebook评论框。我现在想要的是在某人添加评论时触发一些代码“php()in php”。我希望我的网站向用户发送一封电子邮件,告诉他/她访客对您的商品/页面发表了评论。当用户在Facebook上添加评论时发送电子邮件评论框

这与我创建的旧评论部分很容易做到,但我现在不知道如何用FB做到这一点。它甚至有可能吗?

如果是,请包括一个详细的答案,如果你不介意,因为我在这个:)

如果您对解决方案FB已经提供的解决方案不满意(如scjosh解释过的),您可以使用Facebook的Javascript SDK中的一些ajax(jquery将是我最喜欢的)来加载带有mail()函数的脚本。

首先加载JS SDK(确保你改变 'YOUR_APP_ID' 和channelURL !!):约JS SDK,加载和频道文件可以found here

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : 'YOUR_APP_ID', // App ID 
     channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     oauth  : true, // enable OAuth 2.0 
     xfbml  : true // parse XFBML 
    }); 

    // Additional initialization code here 
    }; 

    // Load the SDK Asynchronously 
    (function(d){ 
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    d.getElementsByTagName('head')[0].appendChild(js); 
    }(document)); 
</script> 

更多信息。出于这个原因,你应该有一个应用程序或在Facebook上创建一个应用程序。有关设置应用程序的信息is here

下一步是每jQuery的邮件()加载脚本:

FB.Event.subscribe('edge.create', 
    function(response) { 
     $(document).load('mail.php?response='+response); 
    } 
); 

最后的mail.php:

if(isset($_GET['response'])) { 
$msg = 'A comment was left on '.$_GET['response']; 
mail('[email protected]','New comment',$msg); 
} 

希望帮助!

+0

@ danontheline非常感谢。它在很少的问题下工作。我会继续修复它,并回到你的家伙。我发现这也解释了如何做到这一点 http://forum.developers.facebook.net/viewtopic.php?id=74644 –

+0

我正在写这个供将来使用。这个解决方案,在底部链接,工作得很好,这很容易 http://forum.developers.facebook.net/viewtopic.php?id=74644 –

+0

FB.Event.subscribe('edge.create' )代码去?在window.fbAsyncInit = function(){}函数内还是之后?上述评论中的链接不起作用。如果有人可以发布一个完整的工作解决方案,那将是惊人的 – LTech

如果我理解正确的话,Facebook的已经包括通过自己的网站集成的电子邮件通讯我并不好。 I.E.,如果Facebook用户的评论线程已启用通知,则会根据请求发送电子邮件给该用户。唯一可行的方法是将您自己的评论框拼凑在一起,并将其与Facebook API挂钩。