2012-01-04 4 views
1

誰かがFacebookコメントプラグインにコメントを残したときに、通知メールを送信するにはどうすればよいですか?Facebookコメントプラグインに誰かがコメントを残したときに通知メールを送信

私はこのスクリプトを持っていますが、誰かが私のページに来ると私は電子メールを受け取ります。

私はときにのみページに新しいユーザーのコメント

<script> window.fbAsyncInit = function() { 



    FB.init({ 
     appId  : 'appid', // App ID 
     channelUrl : '//http://www.corkdiscos.com/channel.html', // Channel File 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     xfbml  : true // parse XFBML 
    }); 


FB.subscribe('comment.create', function(response){ 
    <?php 
$to  = '[email protected]'; 
$subject = 'Comment Posted on Testimonial Page'; 
$message = 'Comment Posted on Testimonial Page'; 
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
mail($to, $subject, $message, $headers); 
?> 
}); 

}; 


    // 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> 

答えて

0

あなたがそこに起こって奇妙な何かを持っている電子メールを取得したいです。クライアントサイドコード(Javascript)内にサーバーサイドコード(PHP)を配置しています。あなたのサーバー上でPHPコードが実行されるので、そのコードを別のファイルに配置し、PHPコードを実行してメールを送信するAJAX呼び出し(JavaScript付き)をそのファイルに作成する必要があります。

FB.Subscribe関数内でそのPHPコードを取り除く、代わりにこれを置く:

FB.subscribe('comment.create', function(response){ 
    if(typeof console != 'undefined') { 
     console.log(response); 
    } 
}); 

次にコンソール(開発者用ツールのための、またはFirefox上の放火魔とChromeのF12)を開きます。 response変数を確認すると、発生したイベントの種類を確認できます。

+0

iv上記のコードで私のウェブページを更新しました。 http://corkdiscos.com/testimonials.html私は何をconsole.logで探しているのですか? –

1

次のようにajax呼び出しを行う必要があります。

/* Get FB comment notification */ 
<script> 
    $(window).load(function(){ 
     FB.Event.subscribe('comment.create', function(response) { 
      var data = { 
       action: 'fb_comment', 
       url: response 
      }; 

      $.post('`URL TO THE PHP FILE CONTAINING THE MAIL CODE`', data); 
     }); 
    }); 
</script> 

次に、上記の指定されたphpファイルに以下を入力します。

<?php 
if (isset($_POST['url'])) { 
    $to  = '[email protected]'; 
    $subject = 'Comment Posted on Testimonial Page'; 
    $message = 'Comment Posted on Testimonial Page'; 
    $headers = 'From: [email protected]' . "\r\n" . 'Reply-To: [email protected]' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); 
    mail($to, $subject, $message, $headers); 
} 
?> 

さらに安全な側にチェックを行うことができます。

関連する問題