PHP Script yang saya tulis kali ini adalah tentang mengirimkan email. Anda tentunya sudah tahu bahwa kita bisa mengirimkan email dengan menggunakan PHP. Sebelum saya tunjukkan script PHPnya, ada sedikit cerita kenapa saya menulis tentang script email ini.
Beberapa waktu yang lalu, saya menerima email dari salah satu pengunjung http://kursus-online.com yang menanyakan mengapa script PHP untuk mengirimkan emailnya tidak bisa digunakan untuk mengirimkan ke lebih dari 1 penerima. Padahal menurut beliau, scrip tersebut seharusnya bisa digunakan untuk mengirimkan ke 2 alamat penerima.
Nah, inilah script asli yang dikirimkannya:
<?php /****SET THE MAX CHARS FOR EACH MESSAGE***************/
//it is recommended not to set the max too high, to prevent extremely long messages // from stalling your server
<script type="text/javascript"> v_fields = new Array('sender_name','sender_subject','sender_url','sender_message');alert_on = true;thanks_on = true; thanks_message = "Terima Kasih Telah Memasang Iklan. TUnggu beberapa saat agar iklan muncul.."; function validateForm(){
//store the field value var _thisfield = eval("document.contact."+v_fields[i]+".value");
//check the field value if(v_fields[i] == "sender_name"){ if(!isAlpha(_thisfield)){ err += "Please enter a valid name\n";} }else if(v_fields[i] == "sender_subject"){ if(!isAlpha(_thisfield)){ err += "Please enter a valid subject\n";} }else if(v_fields[i] == "sender_email"){ if(!isEmail(_thisfield)){ err += "Please enter a valid email address\n";} }else if(v_fields[i] == "sender_url"){ if(!isURL(_thisfield)){ err += "Please enter a valid URL\n";} }else if(v_fields[i] == "sender_phone"){ if(!isPhone(_thisfield)){ err += "Please enter a valid phone number\n";} }else if(v_fields[i] == "sender_message"){ if(!isText(_thisfield)){ err += "Please enter a valid message\n";} }
}//end for
if(err != ""){ if(alert_on){ alert("The following errors have occurred\n"+err); }else{ showErrors(err); }
return false;
}
return true; }
//function to show errors in HTML function showErrors(str){ var err = str.replace(/\n/g,"<br />"); document.getElementById("form_errors").innerHTML = err; document.getElementById("form_errors").style.display = "block";
}
//function to show thank you message in HTML function showThanks(str){ var tym = str.replace(/\n/g,"<br />"); document.getElementById("form_thanks").innerHTML = tym; document.getElementById("form_thanks").style.display = "block";
}
function isEmail(str){ if(str == "") return false; var regex = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i return regex.test(str); }
function isText(str){ if(str == "") return false; return true; }
function isURL(str){ var regex = /[a-zA-Z0-9\.\/:]+/ return regex.test(str); }
// returns true if the number is formatted in the following ways: // (000)000-0000, (000) 000-0000, 000-000-0000, 000.000.0000, 000 000 0000, 0000000000 function isPhone(str){ var regex = /^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/ return regex.test(str); }
// returns true if the string contains A-Z, a-z or 0-9 or . or # only function isAddress(str){ var regex = /[^a-zA-Z0-9\#\.]/g if (regex.test(str)) return true; return false; }
// returns true if the string is 5 digits function isZip(str){ var regex = /\d{5,}/; if(regex.test(str)) return true; return false; }
// returns true if the string contains A-Z or a-z only function isAlpha(str){ var regex = /[a-zA-Z]/g if (regex.test(str)) return true; return false; }
// returns true if the string contains A-Z or a-z or 0-9 only function isAlphaNumeric(str){ var regex = /[^a-zA-Z0-9]/g if (regex.test(str)) return false; return true; }
//we can send up to 2 emails (EMAIL and/or SMS) if(count($_to) > 2){ $_to = array_slice($_to,0,2);}
for($i=0;$i<count($_to);$i++){
//get the correct message, based on where it is delivering to if(strstr($_to[$i],"teleflip.com")){$_text = $_body.$_message2;}else{$_text = $_body.$_message;}
//send the email(s) mail($_to[$i], $_subject, $_text, $_header);