Archive for the ‘Design Grafis’ Category

Cara menggunakan phpmailer dengan SMTP berikut attachment

This item was filled under [ Code Snippet, Design Grafis, Javascript, PHP ]

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, 975 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...

1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 4.71 out of 5)
Loading ... Loading ...
Popularity: 2,113 views
Tagged with: [ , , ]

Me production

This item was filled under [ Cover book, Design Grafis ]

Continue reading...

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5 out of 5)
Loading ... Loading ...
Popularity: 302 views
Tagged with: [ , , ]

Halaman ini di eksekusi dalam waktu 0.949 detik! (koneksi mayan kenceng nih...)