我刚才在我的网站上添加了一个Facebook评论框。我现在想要的是当有人添加评论时触发一些代码“在php中的mail()”。我希望我的网站向用户发送一封电子邮件,告诉他/她访问者已对您的项目/页面发表评论。
使用我创建的旧评论部分很容易,但我现在不知道如何使用FB。它甚至可能吗?
如果是,请详细解答,如果你不介意,因为我对此并不擅长:)
答案 0 :(得分:2)
如果我理解正确,Facebook已经通过他们的网站包含了集成的电子邮件通信。 I.E.,如果Facebook用户为您的评论主题启用了通知,则会根据请求向该用户发送一封电子邮件。实现这一目标的唯一另一种方法是将您自己的评论框破解并将其与Facebook API挂钩。
答案 1 :(得分:2)
如果你对FB已经提供的解决方案不满意(正如scjosh所解释的那样),你可以使用Facebook的Javascript SDK ajax(jquery将是我最喜欢的)来加载带有mail()函数的脚本。
首先加载JS SDK(确保更改'YOUR_APP_ID'和channelURL !!):
<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>
有关js sdk的更多信息,加载和频道文件可以是found here。你应该有一个应用程序或在Facebook创建一个应用程序。有关设置应用的信息is here。
下一步是使用每个jquery的mail()加载脚本:
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('user@webpage.com','New comment',$msg);
}
希望有所帮助!