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:
<?php // konfigurasi $set_smtp_host = "mail.namadomain.com"; $set_smtp_user = "user_email@namadomain.com"; $set_smtp_pass = "password-nya"; require_once ('/mail_setup/class.smtp.php'); require_once ('/mail_setup/class.phpmailer.php'); $PHPMAILER_LANG = array(); $PHPMAILER_LANG["provide_address"] = 'You must provide at least one ' . 'recipient email address.'; $PHPMAILER_LANG["mailer_not_supported"] = ' mailer is not supported.'; $PHPMAILER_LANG["execute"] = 'Could not execute: '; $PHPMAILER_LANG["instantiate"] = 'Could not instantiate mail function.'; $PHPMAILER_LANG["authenticate"] = 'SMTP Error: Could not authenticate.'; $PHPMAILER_LANG["from_failed"] = 'The following From address failed: '; $PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: The following ' . 'recipients failed: '; $PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data not accepted.'; $PHPMAILER_LANG["connect_host"] = 'SMTP Error: Could not connect to SMTP host.'; $PHPMAILER_LANG["file_access"] = 'Could not access file: '; $PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: '; $PHPMAILER_LANG["encoding"] = 'Unknown encoding: '; $mail = new PHPMailer(); // setting SMTP $mail->IsSMTP(); // send via SMTP $mail->Host = $set_smtp_host; // SMTP servers $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = $set_smtp_user; // SMTP username $mail->Password = $set_smtp_pass; // SMTP password ?>
dan ini contoh file kontak.php
<?php // MAIL & ATTACHMENT $isi = ""; $error = 0; $form = 1; $max_file = 1048577; // 1 MB if($_POST['submit']) { $name = strip_tags($_POST[name]); $email = strip_tags($_POST[email]); $subject = strip_tags($_POST[subject]); $file1_path = $_FILES['file_att']['tmp_name']; $file1_name = $_FILES['file_att']['name']; $file1_type = $_FILES['file_att']['type']; $file1_size = $_FILES['file_att']['size']; // cek file if($file1_size > 0) { if($file1_size <= $max_file) { require_once ('mail_setup/mail.php'); $mail->From = $email; // email pengirim $mail->FromName = $name; // nama pengirim $mail->AddAddress($set_email_hrd, $set_web_title); // penerima $mail->AddReplyTo($email, $name); // kirim balik reply ke $mail->WordWrap = 50; // set word wrap $mail->AddAttachment($file1_path, $file1_name); $mail->IsHTML(false); // send as HTML $mail->Subject = $subject; $mail->Body .= "Name: $name\n"; $mail->Body .= "Email: $email\n"; $mail->Body .= "\n\n"; $mail->Body .= "----------\n"; $mail->Body .= $set_web_title."\n"; $mail->Body .= $web."\n"; if(!$mail->Send()) { $error = 1; echo "<script>alert('Sorry, Mail Sent Error..., please try again.');</script>"; } else { // EMAIL sukses terkirim $email_success = "<div class=\"good\">Email Sent Sucessfull.<br/>Thank You.</div>"; $form = 0; } } else { $error = 1; echo "<script>alert('File terlalu besar! (Max. ".format_size($max_file).")');</script>"; $error_cv = "<br/><span class=\"warning\">File terlalu besar, (Max. ".format_size($max_file).")</span>"; } } else { $error = 1; $error_cv = "<br/><span class=\"warning\">File Kosong!</span>"; echo "<script>alert('File Kosong!');</script>"; } } if($error == 1) { $error_view = "<span class=\"warning\">Error!</span>"; } if($form == 1) { // FORM APPLY $isi .= "<hr noshade=\"noshade\" size=\"1\" color=\"#cccccc\" width=\"80%\"><br/>"; $isi .= "<div align=\"center\">"; $isi .= "<form method=\"POST\" name=\"myform\" enctype=\"multipart/form-data\" style=\"padding:0; margin:0; \">"; $isi .= " <table border=0 cellspacing=0 bgcolor=\"#ffffff\" cellpadding=0 width=\"98%\">"; $isi .= " <tr>"; $isi .= " <td bgcolor=\"#ffffff\">"; $isi .= " ".$error_view; $isi .= " <table border=0 cellspacing=1 cellpadding=2 bgcolor=\"#ffffff\" width=\"100%\">"; $isi .= " <tr>"; $isi .= " <td colspan=2>"; $isi .= " <h2>Form </h2>"; $isi .= " </td>"; $isi .= " </tr>"; $isi .= " <tr>"; $isi .= " <td bgcolor=\"#ffffff\" width=100>"; $isi .= " Name"; $isi .= " </td>"; $isi .= " <td bgcolor=\"#ffffff\">"; $isi .= " : <input type=\"text\" name=\"name\" size=\"30\" value=\"".$name."\">"; $isi .= " </td>"; $isi .= " </tr>"; $isi .= " <tr>"; $isi .= " <td bgcolor=\"#ffffff\" width=100>"; $isi .= " Email"; $isi .= " </td>"; $isi .= " <td bgcolor=\"#ffffff\">"; $isi .= " : <input type=\"text\" name=\"email\" size=\"30\" value=\"".$email."\">"; $isi .= " </td>"; $isi .= " </tr>"; $isi .= " <tr>"; $isi .= " <td bgcolor=\"#ffffff\" width=100 valign=top>"; $isi .= " File"; $isi .= " </td>"; $isi .= " <td bgcolor=\"#ffffff\">"; $isi .= " : <input type=\"file\" name=\"file_att\" size=\"30\">"; $isi .= " (Max. ".format_size($max_file).")".$error_cv; $isi .= " </td>"; $isi .= " </tr>"; $isi .= " <td bgcolor=\"#ffffff\" colspan=2>"; $isi .= " <input type=\"submit\" name=\"submit\" value=\"Submit\">"; $isi .= " </td>"; $isi .= " </tr>"; $isi .= " </table>"; $isi .= " </td>"; $isi .= " </tr>"; $isi .= " </table>"; $isi .= "</form>"; $isi .= "</div>"; } echo $isi; ?>
Download file:
contoh_email_smtp_phpmailer.zip (20.3 KiB, 3,232 hits)
(sudah termasuk class phpmailer dan contoh file)
Tambahan fungsi format_size sbb.:
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'; }
Note: fungsi format_size tdk termasuk pada download script zip.

(10 votes, average: 4.80 out of 5)
31 Comments on “Cara menggunakan phpmailer dengan SMTP berikut attachment”
makasih bro…
Like or Dislike:gw coba2 dulu ya…