Kirim email dengan php

Ok, bro…

Sedikit tutorial bagaimana caranya mengirim email lewat form yang kita bikin sendiri.  Saya anggap bro udah tau cara bikin formnya ya. Kalo belum, bisa tanya saya langsung.

Misalnya saya buat form untuk mengisi inputnya seperti gambar di bawah ini :

form_email1

Sekarang lihat baris yang ini pada saat anda membuat form seperti di atas ,

<FORM  method=”post” action=”send_email.php”>

sekarang kita akan membuat file send_email.php untuk mengecexute input-input yang telah diisikan pada form yang telah kita buat tadi.

send_email.php berisi program php seperti dibawah ini :

<?php
$to = “info@vitapetclinic.com” ;            //ket.ini email tujuan (bisa konstanta atau berbentuk inputan form)
$subject = $_REQUEST[‘subject’];
$email = $_REQUEST[’email’] ;
$message = $_REQUEST[‘message’] ;
$nama = $_REQUEST[‘nama’] ;
$headers = “From: $nama<$email>”;
$sent = mail($to, $subject, $message, $headers) ;
if($sent)
{
print “Email Anda telah terkirim”;
print “<br><A HREF=’index.php’> Back</A>”;
}
else
{print “We encountered an error sending your mail”; }
?>

Jrenk……Pembuatan skrip kirim email selesai.

Sekarang kalo diupload dan dijalankan di web kita, skrip email ini belum tentu jalan sempurna alias belum tentu bisa terkirim ke email tujuan.lho ko,gt..sihh..lho ko marah…( ehh..malah nyanyi)..jayus deh..

Hal tersebut disebabkan karena hosting tersebut tidak rela dijadikan media SPAM. jadi fungsi emailnya ada yang diblok. Gimana taktiknya agar tetap bisa mengirim email dari website kita??

Gampang…(padahal sih awalnya susah.; )

Kita akalin scrip form inputannya di bawah ini :

<FORM  method=”post” action=”send_email.php”>

sebelum meng-edit kode diatas, kita harus mencari dulu  hosting yang bisa untuk mengirim email seperti cara yang diatas tanpa ada suatu masalah apapun…

biasanya, saya mencari di free hosting yang banyak bertebaran di internet…Anda silakan cari sendiri.. Nah setelah ketemu free hosting yang dimaksud, upload lah file send_email.php tersebut ke free hosting tersebut. Kemudian gantilah alamat yang ada di baris kode ini pada bagian action-nya sehingga menjadi seperti dibawah ini:

<FORM  method=”post” action=”http://www.freehosting.com/send_email.php”>  //alamat ini cuma sebagai contoh aja lho

Nah,baru deh skrip tersebut bisa berjalan sempurna….

Mudah-mudahan bisa dimengerti maksudnya ya…

33 comments on “Kirim email dengan php

  1. weiks….
    mas2…..akuw nyoba pake php mailer….
    jalan c….
    tapi kalo pake alamat gmail kok jadi ga bisa????
    udah di tambahin SMTPSecure = “ssl”; kok tetep ga bisa yah? port-nya : 587;

    mohon pencerahannya……

  2. Rany, nyobanya di hosting mana? coz seperti kata tutorial diatas, sekarang kebanyakan hosting memblok sebagian fungsi emailnya untuk menghindari SPAM. Jadi kalo pake alamat yang bukan domain asli webnya,memang tidak bisa terkirim.
    thanks

  3. yang berhasil nyobain di server kantor….
    sekarang mo nyoba pake gmail to ga yahoo mas….
    tapi kok dari tadi error….
    tulisannya :
    Warning: fsockopen() [function.fsockopen]: SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:func(119):reason(252) in C:\wamp\www\Project1\class.smtp.php on line 122

    Warning: fsockopen() [function.fsockopen]: Failed to enable crypto in C:\wamp\www\Project1\class.smtp.php on line 122

    Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:25 (Unknown error) in C:\wamp\www\Project1\class.smtp.php on line 122
    Message was not sent

    Mailer Error: Language string failed to load: connect_host

    kira2 apa yang kurang yah?

  4. salam kenal… mau tanya… jika kita bikin form yang orang bisa ninggaling nama, email, dan no hp, apakh bisa pada template wordpress.. terimakasih atas bantuannya

    • Mas tehthe, Secara teknis, menambahkan halaman yang kita bikin sendiri pada template wordpress sangat bisa sekali, cuma memang harus sedikit di oprek2 tuh template wordpress. Tapi ada juga cara yang praktis (secara teori, coz saya juga belum nyoba) yaitu tambahkan halaman statis pada wordpress anda kemudian edit halaman tersebut dan isi halaman tersebut dengan script-script html form anda. Kemudian buatlah database tambahan or kalo anda bisa ngoprek2 database wordpress anda, arahkan hasil isian tersebut ke database wordpress (tidak perlu membuat database baru). Kalo masih ndak bisa juga, kabari lagi kesini ya mas.

  5. Salam kenal mas, kalau saya ingin mengubah identitas pengirim (sender) caranya bagaimana ya ?
    di fungsi mail hanya ada tujuan, subject, pesan, ama header ya ?

    thanks

  6. Mas Salim, di form yang di atas (lihat gambarnya) sudah ada untuk menginput email pengirimnya, jadi isi emailnya dapat anda isi email siapa saja.
    thanks.

    • untuk hosting berbayar juga memang ada yg diblok untuk script ini, tp msh banyak hosting yg berbayar yg bs menjalankan script ini.

  7. to alle : kalo boleh, coba kirimkan script-nya yg sudah anda buat, mungkin saya bisa cek dulu dari script yang sudah anda buat tersebut apakah ada yg bisa menimbulkan error. Baru setelah itu kita diskusi penyebab lainnya. Terima-kasih

  8. Boz, mau tanya nih…

    Gimana ya caranya kirim email (di php) secara otomatis tanpa ada campur tangan user. Parameternya itu berdasarkan tanggal, misal.. gua mau nih setiap tanggal 20 tuh script php kirim email otomatis tanpa harus ngejalanin script php, dan tanpa ada submit dari user tentunya.. Mohon pencerahannya … ^_^

    • Choki, kirim email otomatis berdasarkan tanggal itu bisa saja dibuat dengan menambahkan script schedule. Dalam waktu dekat script schedulenya akan menyusul saya posting. Silahkan di tunggu aja ya postingan berikutnya.

  9. // tambahan jika emailnya ingin pake Cc

    <?php
    $to = "drogba@gmail.com" ; //ket.ini email tujuan (bisa konstanta atau berbentuk inputan form)
    $subject = $_REQUEST['subject'];
    $email = $_REQUEST['email'] ;
    $message = $_REQUEST['message'] ;
    $nama = $_REQUEST['nama'] ;
    $headers = "From: $nama\r\n”;
    $headers .= “Cc: email2@gmail.com, mail3@logistic.com, mail4@yahoo.com\r\n”;
    $sent = mail($to, $subject, $message, $headers) ;
    if($sent)
    {
    print “Email Anda telah terkirim”;

    }
    else
    {print “We encountered an error sending your mail”; }

    ?>
    Kembali

  10. mas aku nyoba script mas ni dan ada warning sepertii…

    Warning: mail() [function.mail]: Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set()

    itu knpa mas…
    padahal internetku nyala..

  11. Memang sekarang web host sering memblok layanan emailnya.
    Sekedar kasih Info aja buat yang belum dapet web hosting yang bisa kirim email melalui script php.
    Coba pake web hosting gratis ini http://dhost.info gan.
    Tapi memang registrasinya agak lama, soalnya menunggu respon dari dhost. klo menurut pengalaman saya biasanya gk lebih dari sehari kok.
    Yang pasti fungsi mail() nya jalan.

Tinggalkan komentar