Send Email dengan PHP


SendEmail1

PHP memiliki fungsi mail() untuk mengirim email, dengan format:

$sent = @mail($to, $subject, $message, $headers);

Dimana $to adalah alamat email penerima, $subject adalah subyek emailm $message adalah isi/pesan emailnya dan $headers berisi email header yang formatnya harus sesuai dengan standard email yang dikirim.

Dibawah ini diberikan coding HTML berupa form email yang dapat diisi dengan parameter yang diperlukan oleh fungsi PHP tersebut. Email yang dikirim dapat berisi 1 file attachment.

Berikut ini coding PHP selengkapnya.

<?php
if(isset ($_POST["send"]))
{   $from = $_POST["from"];
    $to	= $_POST["to"];
    $subject = $_POST["subject"];
    $message = nl2br($_POST["msg"]);
    $upload_name = $_FILES["upload"]["name"];
    $upload_type = $_FILES["upload"]["type"];
    $upload_size = $_FILES["upload"]["size"];
    $upload_temp = $_FILES["upload"]["tmp_name"]; 

    $num = md5(time());
    //Normal headers
    $headers  = "From:".$from."\r\n";
    $headers  .= "MIME-Version: 1.0\r\n";
    $headers  .= "Content-Type: multipart/mixed; ";
    $headers  .= "boundary=".$num."\r\n";
    $headers  .= "--$num\r\n";
    // This two item help avoid spam
    $headers .= "Message-ID: <".gettimeofday(true)."-TheSystem@".$_SERVER['SERVER_NAME'].">\r\n";
    $headers .= "X-Mailer: PHP v".phpversion()."\r\n";
    // With html message
    $headers .= "Content-Type: text/html; charset=iso-8859-1\r\n"; 
    $headers .= "Content-Transfer-Encoding: 8bit\r\n";
    $headers .= "".$message."\n";
    $headers .= "--$num";
    // With Attachment
    if ($upload_name!="")
    {	$fp = fopen($upload_temp, "rb");
	$file = fread($fp, $upload_size);
	$file = chunk_split(base64_encode($file));
	$headers  .= "\nContent-Type:".$upload_type." ";
	$headers  .= "name=\"".$upload_name."\"r\n";
	$headers  .= "Content-Transfer-Encoding: base64\r\n";
	$headers  .= "Content-Disposition: attachment; ";
	$headers  .= "filename=\"".$upload_name."\"\r\n\n";
	$headers  .= "".$file."\r\n";
	$headers  .= "--".$num."--\n";
	fclose($fp);
    }
    else 
    { $headers .= "--\n"; } //close boundary
    // SEND MAIL
    $sent = @mail($to, $subject, $message, $headers);
    if($sent)
    {	echo 'Mail has been sent! <br />
           Please check both inbox and spam folder! <br /><br />';
    }
    else
    {	echo 'Mail can not be sent! Please try again later! <br /><br />';
    }
    unset ($_POST["send"]);
}
?>
<html>
<body>
<head>
<title>Send Email</title>
<script type="text/javascript">
function clearMe()
{	document.getElementById("fl").value='';
	document.getElementById("upload").innerHTML="<input type=\"file\" id=\"fl\">";
}
function cekData()
{	if (formemail.from.value == "")
	{	alert("Please fill in from field!");
		formemail.from.focus();
		return false;
	}
	if (formemail.to.value == "")
	{	alert("Please fill in to field!");
		formemail.to.focus();
		return false;
	}
	if (formemail.subject.value == "")
	{	alert("Please type the subject!");
		formemail.subject.focus();
		return false;
	}
	if (formemail.msg.value == "")
	{	alert("Please type the message!");
		formemail.msg.focus();
		return false;
	}
	if (formemail.problemdetail.value == "")
	{	alert("Problem detail must be filled!");
		formemail.problemdetail.focus();
		return false;
	}
	var filter = new RegExp(
		"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" +
		"[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
	if (!filter.test(formemail.to.value) && formemail.to.value != "")
	{	alert("Please enter to with valid email address!");
		formemail.to.focus();
		return false;
	}	   
	else
		return true;   
}
</script>
</head>
<form id="idformemail" name="formemail" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>" enctype="multipart/form-data" onsubmit="return cekData();">
<table>
<tr><td>From</td><td>:</td><td><input type="text" name="from" id="from" size="54" value="Helpdesk Team <helpdesk@kampushendra.com>"></td></tr>
<tr><td>To</td><td>:</td><td><input type="text" name="to" id="to" size="54"></td></tr>
<tr><td>Subject</td><td>:</td><td><input type="text" name="subject" id="subject" size="54"></td></tr>
<tr><td>Message</td><td>:</td><td><textarea name="msg" rows="4" cols="40"></textarea></td></tr>
<tr><td>Attachment</td><td>:</td><td><input type="file" name="upload" id="fl">
<input type="button" value="Clear" onClick="clearMe()"></td></tr>
<tr><td></td><td></td><td><span id="attach"><input type="submit" value="Submit" id="send" name="send"> </span></td></tr>
</table>
</form>
</body>
</html>

Selamat mencoba, semoga sukses.

Leave your comment