Sunday, May 27, 2012

Script PHP untuk posting content melalui Email

Isi berita dari halaman backoffice (Administrator Area) sudah sangat biasa. Tapi bagaimana kalau ingin memposting berita melalui email ?. Ada beberapa pilihan, yaitu pertama buat script / aplikasi yang selalu melakukan pengecekan email melalui POP3 setiap beberapa menit, yang kedua setting mailserver agar mengeksekusi sebuah script apabila ada email yang baru.

Jelas untuk cara yang pertama (polling method) sangatlah lambat, karena ada jedah waktu untuk melakukan pengecekan, selain itu proses kerja mesin menjadi tinggi dikarenakan looping yang tidak pernah selesai. Sedangkan untuk cara yang kedua adalah cara yang cerdas, karena cara kerjanya mendekati real time dan proses di mesin tidak berat. Cuma.. ada beberapa kendala bagi yang menggunakan jasa share hosting dikarenakan tidak mungkin memberitahukan provider agar mengubah setting mail server mereka. Tapi kendala ini bisa dipecahkan untuk pengguna share hosting yang memiliki software cPanel. 

Adapun caranya adalah sebagai berikut :

  1. Masuk ke cPanel hosting
  2. Tulis atau upload script berikut dan simpan dengan nama catchemail.php. Dalam contoh ini script disimpan pada folder "/home/einu/catchemail.php" :

    PHP Code:
    #!/usr/bin/php –q
    <?
    $fd    
    fopen("php://stdin""r");$email "";
    while (!
    feof($fd)) {
        
    $email .= fread($fd1024);
    }
    fclose($fd);
    $fdw  fopen("mail.txt""w+");fwrite($fdw$email);fclose($fdw);

Berikutnya masih pada halaman cPanel:

  1. Pada menu group "Email" pilih "Forwarders"
  2. Pilih "Add forwarder" pada group "Add Account Forwarders"
  3. Masukkan id email penerima yang apabila menerima pesan akan memanggil script. Dalam contoh ini yaitu "post"
  4. Klik link "Advanced Options"
  5. Pilih kotak radio "Pipe to a program"
  6. Masukkan alamat file script yang akan dieksekusi dalam contoh ini /home/einu/catchemail.php
  7. Klik tombol "Add Forwarder".

Sampai disini, setiap email yang masuk akan disimpan ke dalam file mail.txt, agar dapat mengisikan langsung ke database content dan ditampilkan harus dilakukan penyesuaian script sendiri. Sekarang silahkan coba kirimkan email ke post@domainanda.com. Apabila setting benar seharusnya akan ada file mail.txt yang berisikan email yang baru dikirimkan pada folder yang sama dengan file catchemail.php. Perlu diingat, tidak semua hosting yang memperbolehkan untuk menggunakan fungsi PHP fopen, apabila hal ini terjadi maka pindah hosting aja... ha..ha semoga bermanfaat

No comments:

Post a Comment