2012-01-15 13 views
4

Gower Peninsulaの3つのWebカメラからの画像と更新を特徴とするfacebook fanページwww.facebook.com/GowerLiveを実行します。 Facebookの機能を使用して、毎日午後8時にCRONジョブで一意のメールアドレスを使用してファンページに直接メールを送信できるようにしたいと考えています。私たちのFacebookページへの写真のメール送信

私は電子メールアドレスをテストしました...それはうまく動作し、画像を送信できますが、私のPHPスクリプトは写真を表示しません。それは主題をFacebookに投稿しますが、それはそれです。

まず、ファンページの画像を取得するには、これが最善の方法ですか?
第2に、これをMultipart Mime Typeのように動作させるための正しい形式の電子メールを使用していますか?
これは、私は現在、あなたはFacebookのグラフAPIを見たいかもしれないのcronに

// array with filenames to be sent as attachment 
$files = array("public_html/langcam/09.jpg","public_html/langcam/13.jpg","public_html/langcam/16.jpg","public_html/caswellcam/09.jpg","public_html/caswellcam/13.jpg","public_html/caswellcam/16.jpg","public_html/llangcam/09.jpg","public_html/llangcam/13.jpg","public_html/llangcam/16.jpg"); 

// email fields: to, from, subject, and so on 
$to = "[email protected]"; 
$from = "[email protected]"; 
$subject = "On ".date("F j, Y")." the wavebuoy at 1pm was ". $waveheightb."ft @ ".$seconds."seconds with a ".$windcompass." wind at ".$windspeedb."mph"; 
$message = "I normally leave this blank"; 
$headers = "From: $from"; 

// boundary 
$semi_rand = md5(time()); 
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 

// headers for attachment 
$headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; 

// multipart boundary 
$message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; 
$message .= "--{$mime_boundary}\n"; 

// preparing attachments 
for($x=0;$x<count($files);$x++){ 
    $file = fopen($files[$x],"rb"); 
    $data = fread($file,filesize($files[$x])); 
    fclose($file); 
    $data = chunk_split(base64_encode($data)); 
    $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" . 
    "Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" . 
    "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; 
    $message .= "--{$mime_boundary}\n"; 
} 

// send 

$ok = @mail($to, $subject, $message, $headers); 
if ($ok) { 
    echo "Mail sent to $to!"; 
} else { 
    echo "Mail could not be sent!"; 
} 

おかげ

リー

+0

あなたはFacebookにではなくあなた自身に電子メールを送ると、画像が見えますか? – neopickaze

+0

はい、CRONで動作するようにスクリプトを少し変更する必要がありますが、私が使用するファイルパスでのみ変更する必要があります。 CRONでそれを使用するには、画像の前にpublic_html /を追加します。エラーは返されません。私が問題を引き起こしていると思われるものは、ATT00036.txtと呼ばれるファイルの電子メールへの添付ファイルです...そのファイルは何ですか? –

+0

私はこの夕方にCRONジョブを実行させましたが、コードを編集して画像が確実に添付されていることを確認しました。非常にイライラ。 –

答えて

1

リー、

を実行している私のスクリプトです。私はそれがファンのページで動作するかどうかはわかりませんが、そうしない理由はありません。ブログの投稿タイトルを無視して、アルバムを作成して写真をアップロードする方法について記事の2番目の部分までスクロールしてください。

https://developers.facebook.com/blog/post/498/

写真を行うにはFacebookのグラフAPIページは、次のURLにあります。

http://developers.facebook.com/docs/reference/api/photo/

または代わりに、それが簡単かもしれないようhttp://ifttt.comにIFTTTスクリプトを作成します。

Jon

+0

ちょっと、私が持っている情報のおかげで見ることになります。 :-)リー –

関連する問題