Panduan Kirim Email Menggunakan PHP

Karena itu ada beberapa hal yang perlu diperhatikan agar Anda berhasil mengirim email menggunakan skrip di server hosting, sbb:Di server hosting MWN berbasis Spanel, program email yang dipasang di server (spanel-sendmail dan spanel-smtpd) diperlengkapi dengan beberapa pengecekan tambahan yang lebih ketat, yang tujuannya adalah mencegah dan mengurangi dampak spamming yang dilakukan oleh spammer yang memanfaatkan/mengeksploit skrip PHP/CGI milik klien hosting. Seperti diketahui, spammer kini banyak memanfaatkan kelemahan pada skrip PHP, terutama fungsi mail()-nya, untuk mengirim spam dari server hosting orang lain.


Sendmail

  • Pastikan email mengandung header Subject
  • Pastikan email tidak mengandung header Subject dobel (lihat Contoh 1 di bawah)
  • Pastikan email tidak mengandung header From dobel (lihat Contoh 1 di bawah)
  • Pastikan Anda tidak memasukkan terlalu banyak recipient (To/Cc/Bcc), jika terlalu banyak silakan pecah menjadi beberapa email terpisah
  • Pastikan Anda tidak mengirim terlalu banyak dalam satu waktu, karena ada limit pengiriman (silakan baca artikel Pembatasan_pengiriman_email untuk lebih jelasnya)
  • Pastikan email Anda tidak berisi spam, karena jika ada terlalu banyak spam yang dikirim dari akun Anda, otomatis akun Anda akan diblokir tidak bisa mengirim email untuk sementara waktu.

Beberapa catatan lain:

  • domain pada header From harus sama dengan salah satu domain yang terdaftar pada account hosting (contoh: skrip formmail PHP Anda ada di http://www.tokoku.com/formmail.php, maka Anda harus menggunakan alamat From: <sesuatu@tokoku.com>, tidak bisa From: <sesuatulain@gmail.com> atau <sesuatulain@yahoo.com>. Hal ini untuk mencegah spoofing dan mempermudah pelacakan.Jika nilainya tidak sama, maka secara otomatis akan diubah menjadi <USERNAME@tokoku.com> oleh spanel-sendmail.
  • jika Return-Path diset, nilainya harus sama dengan header From. Hal ini untuk mencegah spoofing dan mempermudah pelacakan. Jika nilainya tidak sama, maka secara otomatis akan diubah menjadi sama oleh spanel-sendmail.
  • jika ada masalah/kegagalan pengiriman email lewat sendmail, coba lihatlah detil pesan kesalahannya di file log: direktori /u/USER/syslog/ (direktori /syslog di akun Anda) file sendmail-error.log dan sendmail-access.log.

SMTP

  • Gunakan otentikasi SMTP dengan username/password akun POP Anda saat mengirim menggunakan SMTP ke 127.0.0.1/IP server hosting. Jika tidak menggunakan password, maka Anda tidak dapat melakukan relaying (mengirim email ke luar/bukan domain sendiri)
  • Pastikan Anda tidak memasukkan terlalu banyak recipient (To/Cc/Bcc), jika terlalu banyak silakan pecah menjadi beberapa email terpisah
  • Pastikan email Anda tidak berisi spam, karena jika ada terlalu banyak spam yang dikirim dari akun Anda, otomatis akun Anda akan diblokir tidak bisa mengirim email untuk sementara waktu.

 

Contoh 1: header Subjek/From dobel

Salah satu contoh kasus yang sering dijumpai (terutama tahun 2006 saat ramai terjadi serangan injeksi terhadap fungsi mail() PHP) adalah skrip yang menghasilkan header Subject atau From yang dobel, sehingga ditolak oleh spanel-sendmail. Contohnya, potongan skrip PHP berikut:

Perhatikan baris kelima pada kode di atas, yaitu:

Sebetulnya fungsi mail() sudah menerima argumen kedua berupa subjek, dan PHP akan menghasilkan header email seperti ini:

Sehingga jika ditambah dengan $headers, akan menjadi:

Walhasil, header Subject-nya dobel. Dan ini diasumsikan mencurigakan oleh spanel-sendmail dan ada kemungkinan skrip tereksploit/terinjeksi, sehingga ditolak.

Solusinya, buang baris kelima. Tidak perlu lagi memasukkan header Subject di extra headers (argumen ke-4), karena header Subject sudah akan dihasilkan oleh fungsi mail() PHP melalui argumen ke-2 fungsi mail().

 

Contoh 2: Skrip yang dianjurkan

Misal nama domain e-mail Anda example.com:

Catatan: Jika Anda menggunakan layanan gmail.com atau yahoo.com, Anda dapat memasukkan alamat Anda di header Reply-To, bukan di header From (yang, berdasarkan restriksi, harus menggunakan alamat domain hosting sendiri).

 

Contoh 3: Contoh Skrip 3

PHP mail() function merupakan sebuah script php yang memungkinkan Anda untuk mengirim email langsung dari naskah ,fungsi ini merupakan bagian dari inti PHP. dan Tidak ada instalasi yang diperlukan untuk menggunakan fungsi tersebut. Nah , pada dasarnya script untuk mengirim sebuah email menggunakan PHP sangatlah sederhana , anda bisa melihat sebaris script di bawah beserta penjelasannya dan semoga dapat membantu pekerjaan anda

Syntax

 

Syntax

Penjelasan

   
To : Menentukan siapa yang akan menerima email, atau bisa di katakan sebagai alamat tujuan email yang akan di kirim
   
Subject : Menentukan subjek email yang akan di kirim , dan perintah ini tidak boleh ada karakter baris
   
Message :

merupakan perintah untuk menulis pesan yang akan dikirim. Setiap baris harus dipisahkan dengan LF (\ n). Garis tidak boleh melebihi 70 karakter. dan apabila garis melebihi 70 karakter gunakan fungsi wordwrap() ;

contoh penggunaan fungsi wordwrap()

 

   
Headers : Menentukan header tambahan, seperti Dari, Cc, dan Bcc. Header tambahan harus dipisahkan dengan CRLF (\ r \ n).
   
Parameters : Menentukan parameter tambahan untuk sendmail
   
     

Contoh Script lengkap

 

Tanya jawab

Saya sudah berhasil mengirim email, tapi kenapa tidak sampai ke tujuan (mis: yahoo/gmail)? Atau terjadi delay/lambat masuknya?

Silakan lihat artikel XXX.

Saya sudah berhasil mengirim email, dan sudah berhasil sampai ke tujuan (mis: yahoo/gmail) tapi kenapa masuk ke folder Junk/Spam?

Silakan lihat artikel T:Email_masuk_folder_bulk_atau_spam_atau_junk_di_Yahoo_atau_Gmail.

Bagaimana caranya mengirim ribuan email dari akun saya, sebab saya memiliki milis/newsletter dengan banyak anggota?

Silakan lihat artikel Pembatasan pengiriman email.

Saya tidak pernah merasa mengirimkan banyak email spam, mengapa akun saya diblokir tidak bisa mengirim email?

Ada kemungkinan salah satu aplikasi web Anda terjangkit malware/virus. Silakan hubungi support kami untuk mengeceknya.


Mudah – mudahan tutorial singkat ini dapat bermanfaat bagi pembaca sekalian. Support kami dengan cara Click LIKE atau SHARE jika anda merasa tutorial ini bermanfaat bagi pembaca sekalian.

Leave a Comment

Filed under HTML, PHP, Web

Leave a Reply