1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| class MyMail{
private $exp;
private $dest;
private $cont;
private $subject;
public function setExp($exp){
if($this->verifAdMail($exp)){
$this->exp=$exp;
}
}
public function setDest($dest){
if($this->verifAdMail($dest)){
$this->dest=$dest;
}
}
public function setCont($cont){
if($this->verifCont($cont)){
$this->cont=$cont;
}
}
public function setSubject($subject){
if($this->verifSubject($subject)){
$this->subject=$subject;
}
}
public function SendMyMail(){
if(!empty($this->exp)
&&!empty($this->dest)
&&!empty($this->cont)
&&!empty($this->subject)){
$this->cont .= '\n Envoyé par : '. $this->exp;
if(mail($dest,$subject,$cont)){
$this->message = "Votre mail a bien été envoyé.";
}else{
throw new Exception("Une erreur est survenue durant l'envoi du mail");
}
}else{
if(empty($this->exp)){
throw new Exception("Le champ de l'expediteur est vide");
}
if(empty($this->dest)){
throw new Exception("Le champ du destinataire est vide");
}
if(empty($this->cont)){
throw new Exception("Votre message est vide");
}
if(empty($this->subject)){
throw new Exception("Votre sujet est vide");
}
}
}
//---------------------------------------------------------------------------------------
// Les fonctions private maintenant :
//---------------------------------------------------------------------------------------
private function verifAdMail($exp){
if($this->is_email($exp)&&$this->mail_exist($exp)){
return TRUE;
}else{
throw new Exception('Mail invalide, veuillez corriger votre adresse e-mail');
}
}
private function is_email($exp){
return preg_match("/^(\w|-|\.)+@((\w|-)+\.)+[a-z]{2,6}$/i",$exp);
}
private function mail_exist($exp){
list($compte,$domaine)=split("@",$exp,2);
if(!checkdnsrr($domaine,"MX")&&!checkdnsrr($domaine,"A")){
return FALSE;
}
return TRUE;
}
//-----------------------------------------------------------------------------------------
private function verifSubject($subject){
//On pourra plus tard créer un parametre tableau
//listant les sujets "interdits" etc....
$subject = htmlspecialchars($subject);
return $subject;
}
//------------------------------------------------------------------------------------------
private function verifCont($cont){
$cont = htmlspecialchars($cont);
return $cont;
}
} |
Partager