Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress | Tutorial Java SE


Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP


Cara Mengirim Email Dengan Script PHP di Localhost Via XAMPP


October 20th, 2011 | by rosihanari | Cetak Artikel Cetak Artikel


GampSMS SMS Gateway

Barangkali Anda pernah heran, mengapa script PHP untuk mengirim email yang Anda buat tidak bisa berjalan di localhost? Sedangkan apabila script tersebut diupload di web hosting, maka script tersebut bisa berjalan dengan baik alias bisa berfungsi untuk mengirim email. Nah.. dalam artikel kali ini, akan saya paparkan cara mengirim email dengan script PHP yang dijalankan melalui localhost menggunakan XAMPP.

Di dalam PHP, terdapat sebuah function yang digunakan untuk mengirim email yaitu mail(); Supaya function tersebut bisa berjalan dengan baik, Anda membutuhkan sebuah module lain di luar PHP yang bertugas untuk mengirim pesan melalui email. Dengan kata lain, penggunaan perintah mail() ini tidak bisa berdiri sendiri hanya di PHP melainkan butuh module lain untuk melakukan tugas pengiriman email. Module yang bisa digunakan adalah untuk pengiriman email ini adalah ‘Sendmail’. Module ‘Sendmail’ ini sudah ada di software-software paket web development seperti XAMPP atau WAMP. Anda bisa cek module ini melalui direktori C:\XAMPP\SENDMAIL. Untuk di WAMP, silakan dicari sendiri ya… :-)

Nah.. selanjutnya akan saya paparkan bagaimana cara memanfaatkan module ‘Sendmail’ tersebut untuk proses pengiriman email melalui script PHP yang dijalankan melalui localhost.

Langkah pertama, kita harus memodifikasi file php.ini terlebih dahulu untuk mengaktifkan module ‘Sendmail’. Silakan buka file php.ini yang terletak di C:\XAMPP\PHP, kemudian cari baris berikut ini

[mail function]
; For Win32 only.
; http://php.net/smtp
; SMTP = localhost
; http://php.net/smtp-port
; smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
; sendmail_from = postmaster@localhost

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

Pastikan untuk baris

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

tidak ada tanda semicolon (;) di depannya, sedangkan untuk baris yang lain, tambahkan semicolon di depannya seperti tampilan di atas. Setelah file php.ini selesai diedit, simpan kembali dan kemudian lakukan restart Apache.

Selanjutnya, kita memodifikasi file konfigurasi dari module ‘Sendmail’ ini yaitu ‘sendmail.ini’. File ini terletak di dalam direktori C:\XAMPP\SENDMAIL.

Trus… apa yang harus diisikan di dalam file sendmail.ini tersebut?? yang diisikan adalah server SMTP yang akan digunakan untuk pengiriman email. Jika Anda mempunyai account GMAIL, maka silakan isikan beberapa baris perintah berikut ini

defaults
logfile "C:\xampp\sendmail\sendmail.log"

# SMTP Gmail
account Gmail
tls on
port 465
tls_starttls off
tls_certcheck off
host smtp.gmail.com
from xxx@gmail.com
auth on
user xxx@gmail.com
password xxx

account default : Gmail

Keterangan: pada parameter ‘from’ isikan alamat Gmail Anda, begitu pula untuk parameter ‘user’. Sedangkan pada parameter ‘password’ isikan password Gmail Anda.

Nah… proses setting module ‘Sendmail’ sudah dilakukan, selanjutnya Anda tinggal bikin script untuk kirim emailnya. Sebagai contoh misalkan diberikan script kirim email sederhana berikut ini

<?php
$tujuan = "rosihanari@gmail.com";
$subject = "Contoh Email";
$pesan = "Ini hanya contoh email saja";
mail($tujuan, $subject, $pesan);
?>

Oya… sebelum Anda menjalankan script kirim email, pastikan PC Anda sudah terkoneksi ke internet supaya bisa terhubung dengan SMTP nya Gmail.

Lantas, bagaimana bila Anda tidak punya account di Gmail melainkan punya di Yahoo Mail? Untuk Yahoo Mail, Anda bisa menggunakan SMTP dari Yahoo Mail dengan konfigurasi sbb:

defaults
logfile "C:\xampp\sendmail\sendmail.log"

# SMTP Yahoo
account Yahoo
tls on
port 465
tls_certcheck off
tls_starttls off
host smtp.mail.yahoo.com
from xxx@yahoo.com
auth on
user xxx@yahoo.com
password xxx

# Set a default account
account default : Yahoo

atau jika Anda memiliki SMTP server sendiri di web hosting, maka Anda bisa menggunakannya. Untuk detilnya silakan hubungi admin hosting Anda guna mendapatkan alamat SMTP servernya, nomor port dsb.

OK… selamat mencoba ya…




Share ke Facebook Share ke Twitter
Baca Juga Artikel Terkait
Trik Meningkatkan Traffic Blog WordPress dengan Notifikasi Komentar Via Email
Teknik Mengirim Data (POST Method) Dari Remote Server Dengan CURL
Cara Mengenkripsi Script PHP Supaya Tidak Terbaca
Teknik Dasar Mengirim SMS dengan Gammu
Cara Mengetahui Lama Eksekusi (Execution Time) Sebuah Script PHP

Kata kunci: email dari localhost - kirim email - script mail php -


Ada 71 komentar dalam artikel ini.



  1. Jeje says:

    mas function tls itu untuk apa ya?
    disitu terdapat tls_certcheck off & tls_starttls off.
    bisa tolong di jelaskan itu untuk apa ?

    script yang mas kasih ini bisa running di account gmail saya, tetapi apabila saya menggunakan email account tidak dapat running padahal smtp dan port nya sudah sesuai.
    thanks

  2. ocim says:

    Pak Rosihan, ini sudah tidak berlaku di xampp yang baru. Mohon pencerahannya untuk xampp versit terbaru untuk proses pengiriman email di sendmailnya.

  3. Pak, apa cara di atas dapat dgunakan selain di localhost??

  4. Aqin says:

    artikelnya mantap pak, saya sdh mencoba & berhasil.
    tapi untuk contoh di atas kan pengirimnya dari email kita sendiri.
    misalkan pengirim menggunakan email pengunjung dgn cara input form gimana pak?

    terima kasih sebelumnya

    • rosihanari says:

      @aqin: sepertinya tidak bisa mas, saya pernah mencobanya. Tetap nanti yang muncul di mail box penerima emailnya email kita.

  5. tady says:

    saya ingin membuat form isian yang ada input email, setelah input biodata dan email terisi di submit maka secara otomatis penginput akan menerima email balasan dengan disertai file pdf biodata penginput tersebut di email penginput, mohon pencerahannya

  6. tady says:

    desain web saya sudah publish di domain gratisan :) dan saya ingin membuat form isian yang ada input email, setelah input biodata dan email terisi di submit maka secara otomatis penginput akan menerima email balasan dengan disertai file pdf biodata penginput tersebut di email penginput, mohon pencerahannya

  7. Royan says:

    kalo untuk mengirim email berupa gambar bisa ga pak?

  8. joe says:

    Mas mau tanya kalo website sudah di hosting misal di alamat domain : contoh.org, apa fungsi mail bisa berjalan tanpa konfigurasi tambahan?

    • rosihanari says:

      @joe: setahu saya dan rata2 hosting sudah menyediakan mail servernya. Jadi tinggal pakai saja. Tapi lebih baik anda tanyakan dulu hal ini kepada admin hostingnya.

  9. amma says:

    salam. nak tanya…kalu guna “Hotmail” boleh tak? ?



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*