Cara menggunakan phpmailer dengan SMTP berikut attachment

mengirim email menggunakan phpmailer dengan mudah.
berikut struktur folder dan file yg akan kita persiapkan:

www/mail_setup/class.phpmailer.php
www/mail_setup/class.smtp.php
www/mail_setup/mail.php
www/kontak.php

file mail.php isinya adalah setup configurasi SMTP:

dan ini contoh file kontak.php

Download file:

  contoh_email_smtp_phpmailer.zip (20.3 KiB, 6,733 hits, Updated: 14 April 2011)

(sudah termasuk class phpmailer dan contoh file)

Tambahan fungsi format_size sbb.:

Note: fungsi format_size tdk termasuk pada download script zip.

Share

You may also like...

46 Responses

  1. Kazuya says:

    makasih bro…
    gw coba2 dulu ya…

  2. fa says:

    ok ini yg dicari2 neh… tq ya

  3. erik says:

    dah gw coba ko masih ada errornya ya?

    Fatal error: Call to undefined function format_size() in kontak.php on line 97

    salahnya dmn?

    tq

    • Jawaad says:

      mas Erik,
      saya lupa masukkan fungsi format_size.
      ini fungsinya:

      Terimakasih atas komentarnya 🙂

  4. iin says:

    setelah googling2 sampe capek.
    akhirnya… artikel ini banyak membantu.
    aku coba udah oke.
    thanks banget..

  5. gunadi says:

    terima kasih banyak ya.

  6. Trisa says:

    ko masih ga mau jalan yah??
    harus punya mail server sendiri atau pake gmail juga bisa??
    kalo bisa minta config yang buat gmail.
    kalo cuma bisa pake mail server sendiri bisa recommend ga mail server yang bisa gratis n gampang confignya?
    thanks.

  7. Edse says:

    Mas sku coba yang PHPMailer_v5.1 bisa kirim email pake attachment tapi waktu dimasukin ke hosting kok malah error kaya gini:SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
    SMTP Error: Could not connect to SMTP host.
    kira2 apanya yang hrs dirubah ya
    Thks

  8. gina says:

    Warning: main(/mail_setup/class.smtp.php) [function.main]: failed to open stream: No such file or directory in E:\Web\contoh_email_smtp_phpmailer\mail_setup\mail.php on line 7

    Fatal error: main() [function.require]: Failed opening required ‘/mail_setup/class.smtp.php’ (include_path=’.;c:\apachefriends\xampp\php\pear\’) in E:\Web\contoh_email_smtp_phpmailer\mail_setup\mail.php on line 7

    kalo error kayak gt kenapa ya??

    • Jawaad says:

      Gina, coba perhatikan dan sesuaikan alamat include nya dgn penempatan dimana file2 itu berada:

      kalau posisinya sama, gak perlu kasih tanda “/” lagi, pada include nya, nah kalau “/” paling depan itu artinya dari root folder web nya.

    • gina says:

      masih eror gan…
      maaf, aku kan udah download filenya yang di atas.. apa ajah sih yang harus aku konfigurasi dari file-file itu…
      maaf ya gan… ngerepotin, maklum masih baru di dunia pemrograman, jadi kurang begitu ngerti..
      thanks ya gan atas bantuannya…

  9. ventha says:

    koq ga bs terkirim ya mas??

    Sorry, Mail Sent Error…, please try again.

    apanya yg error??

  10. kaze says:

    nah… yg kata ventha bilang mas, saya juga errornya dr msgbox aja.
    padahal dah active POP/IMAP di gmail sy. apa penyebabnya ya?

    oia, waktu nambahain script dr artikel mas yg buat setting phpmailer, codenya :
    $mail->SMTPSecure = “ssl”; // SSL Support
    $mail->Port = 465; // Port
    (code ini gk ada di file yg di download di sini)
    trus waktu dijalankan malah ad pesen :

    unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport “ssl” – did you forget to enable it when you configured PHP?)

    waah…jd bingung, ap email yg dkrim harus gmail smua? mhon pencerahannya, trima kasih.

  11. kaze says:

    waaah….mas, ventha, setelah sy googling n coba2 lagi, ternyata code di :
    $set_smtp_host = “smtp.gmail.com”;
    diubah menjadi :
    $set_smtp_host = “ssl://smtp.gmail.com:465”;

    trus error dari :
    “did you forget to enable it when you configured PHP”
    itu karna di file php.ini nya belum diaktifkan modul :
    extension=php_openssl.dll

    setelah itu, beres dah.. cuma yang masih jd pertanyaan, apkah krim ke mail yahoo gk bisa? karna ktika dicoba, hanya ke email yahoo saja yang tidak terkirim 🙁

    tapi apapun hasilnya skrng, sy ucapin buat mas atas ilmunya ya 😀

  12. agus says:

    mas saya masih bingung bagaimana menggunakan php mailer nya…??? masih bingung yg mau d konfigurasi..thanks

  13. mis3 says:

    Sorry, Mail Sent Error…, please try again.

    itu kenapa yah mas..?
    thx b4

  14. Abah petir says:

    Saya sudah coba PHP mailer ini … emang siip , sudah ane coba sekitar 1 bulan .
    Cuma sekarang rada rewel ….. setelah pindah server
    Ada saran …… Trims sebelumnya ,

  15. muslim says:

    saya coba kok erorr ya,, apa ada yang kurang ya seting nya,,
    mohon infonya..
    terimaksih

  16. sashy says:

    fungsi funcion format size nya di taruh sebelah mananya??

  17. Jawaad says:

    @mis3, silahkan di cek kembali settingan sesuai dengan info yg tertera

    @Abah Petir, skrng sudah lumayan ketat pada pembatasan mengirim email di beberapa pelayanan hosting.

    @muslim, error nya bagaimana? saya dan kawan2 masih pakai dan masih berfungsi dengan baik.

    @sashy, silahkan disispkan fungsi format_size nya di file kontak.php pada akhir sebelum penutupan script php.

  18. indra says:

    thanks gan sudah bisa.

  19. dalam kasus di atas misal :
    abc @ ymail;123 @ ymail.com = exist dan quota ok
    xyz @ ymail.com = exist dan quota ok
    ccc @ ymail.com = nama sembarang email

    ccc @ ymail.com = adalah email yang tidak terdaftar / exist di domain ymail.com

    logika nya dan harus nya email akan tetap terkirim ke pada email lain nya kecuali ccc @ ymail.com ( ke tiga email yang valid )

    pengiriman tersebut gagal. ada solusi ?

    terima-kasih
    salam
    mulyono

    • Jawaad says:

      @Mulyono Rafianto,
      Salam mas, sepertinya ada keanehan pada server mail nya.
      Seharusnya bila ada salah satu cc yang tidak valid, tidak berpengaruh terhadap email yg valid, semestinya email tersebut terkirim kepada email yang valid.

      Sekedar saran, silahkan dicoba kembali dan dilihat apakah sudah benar alamat2 email tujuan email dan alamat cc nya, di debug dahulu tampilkan alamat2 yang akan dikirim, kemungkinan ada kesalahan dalam hasil array, nya.

      Selamat mencoba, semoga bisa berhasil.

  20. Bang, saya mau tanya saya udah coba apa yang abang kasih tahu di atas , cuma ada sedikit masalah, ketika saya kirim kealamat email yang gak jelas “misalnya: test@yahooxx.com “, distatus error dari kelas smtp katanya oke malah dapet messageIdnya.
    padahal kan itu alamat email yang gak bener, gimana caranya supaya dapet balikan yang menyatakan bahwa email sudah keterima sama email yang kita tuju, karena kalau cuma di handle di sisi :

    if(!$mail->send()){
    print ‘0’; //failed
    }
    else{
    print ‘1’; //success
    }

    kayak belum bisa dipastikan email keterima sama si recepient,
    walaupun function send() berhasil di ekseskusi, Mohon penjelasan dan jawabannya , kalau bisa di balas ke email saya bang terimaksih…..

    • Jawaad says:

      @Rahmatttullah, pengiriman email dengan alamat domain yg tdk valid bisa terdeteksi setelah pengiriman email berhasil, kita akan menerima email dari server mail kita, contohnya seperti ini:

      Subject: “Undelivered Mail Returned to Sender”
      Message:
      I’m sorry to have to inform you that your message could not
      be delivered to one or more recipients. It’s attached below.

      For further assistance, please send mail to postmaster.

      If you do so, please include this problem report. You can
      delete your own text from the attached returned message.

      The mail system

      Lalu ada keterangan alamat email yg dikirim nya.
      Dan ini memang sudah aturan mail system, berlaku jg pada pengiriman email lewat Yahoo Webmail, Gmail Webmail, dan fasilitas pengiriman Email lain nya.

  21. cikung says:

    Makasih mas tutorialnya…
    tp dah q coba beberapa kali kok tetep aja gagal ya…
    pesan error “Sorry, Mail Sent Error…, please try again”
    pdhl udah coba konfigurasi…
    Nyampe frustasi ni… :{

  22. cyt says:

    ka, maaf mau nanya, klu utk settingan po3 ny cukup di gmail aja ato ada kodinganny jg ya? soal ny di settingan gmail sdh di enable, tp masih error send mail ny..

  23. nick says:

    senasib berarti…
    pesan error “Sorry, Mail Sent Error…, please try again”
    gimana cara ngakalinnya ya 😕

  24. cepi says:

    penempatan

    function format_size($rawSize) {
    if ($rawSize / 1048576 > 1) return round($rawSize/1048576, 1) . ‘MB’;
    elseif ($rawSize / 1024 > 1) return round($rawSize/1024, 1) . ‘KB’;
    else return round($rawSize, 1) . ‘bytes’;
    }

    di file mana yah?

  25. Aryo says:

    ane klik submit kok gini ya ?
    Warning: require_once(/mail_setup/class.smtp.php): failed to open stream: No such file or directory in /home/seven/public_html/mail_setup/mail.php on line 7

    Fatal error: require_once(): Failed opening required ‘/mail_setup/class.smtp.php’ (include_path=’.:/opt/php54/lib/php’) in /home/seven/public_html/mail_setup/mail.php on line 7

  26. den says:

    phpmailer sudah running di localhost pc, tp setelah upload hosting dengan os linux, mail tdk berfungsi, ada saran?

  27. ardian says:

    Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:25 (Unable to find the socket transport “ssl” – did you forget to enable it when you configured PHP?) in G:\xampplite\htdocs\contoh_email_smtp_phpmailer\mail_setup\class.smtp.php on line 122 kenapa ya gan?

    • Jawaad says:

      di komentar dari @Kaze sudah dijawab diatas, ini saya ulang disini:

      $set_smtp_host = “smtp.gmail.com”;
      diubah menjadi :
      $set_smtp_host = “ssl://smtp.gmail.com:465″;

      trus error dari :
      “did you forget to enable it when you configured PHP”
      itu karna di file php.ini nya belum diaktifkan modul :
      extension=php_openssl.dll

      Semoga berhasil gan.

  28. fajar says:

    mas kalo masalah kya gini gimana
    Our system has detected that this message is550-5.7.1 likely unsolicited mail. To reduce the amount of spam sent to Gmail,

  29. Mila Niawati says:

    gan ane keluar kaya gini Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    mohon solusinya. Terima Kasih

  30. Renaldi says:

    Mas, Mohon Bantuannya. Kok error terus ya?
    Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp\htdocs\mail\mail_setup\class.smtp.php on line 122.

    Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://ssl://smtp.gmail.com:465 (Unknown error) in C:\xampp\htdocs\mail\mail_setup\class.smtp.php on line 122

  31. bayu ajie says:

    terima kasih, mas .. muter2 googling nyarinya mentok disini, nyoba download script dari sini dan dicoba pun masih gagal dengan pesan error. Setelah sedikit modifikasi dan menambah file dari PHPmailer akhirnya bisa juga menggunakan scriptnya dengan SMTP Gmail 🙂

    • Eni says:

      boleh minta sedikit pencerahan ? soalnya masih Sorry, Mail Sent Error…, please try again.

  1. 31 October 2009

    […] SejenisCara menggunakan phpmailer dengan SMTP berikut attachmentDate format ‘xx time ago’Terbilang ejaan angka kedalam bentuk kalimatPHP Class […]

  2. 3 June 2011

    […] mengirim email menggunakan phpmailer dengan mudah. berikut struktur folder dan file yg akan kita Read More […]

Leave a Reply to sashy Cancel reply

Your email address will not be published. Required fields are marked *