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, 965 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.
Continue reading...

Loading ...
Popularity: 2,103 views