Example #1
0
    public function sendInvitation(Invite $invitation, Users $user, Profile $profile)
    {
        $this->from = $user->getMail();
        $this->subject = "Vous êtes invité sur TIPKIN";
        $this->content = '
<p>Bonjour, <br/><br/>
								' . $profile->getFirstname() . " " . $profile->getLastname() . " vous invite à rejoindre sa communauté sur Tipkin :\n\t\t\t\t\t\t\t\t<br/><br/>\n\t\t\t\t\t\t\t\t<q>Si tu ne connais pas encore Tipkin, connecte-toi, et rejoints ma Tipkin-ship !<br/>\nEnsemble nous pourrons partager tous nos objets.\t\t\t\t\t\t\t\t<br />\n  N'hésites plus et viens consulter mes annonces sur mon profil <a href='" . $this->serverName . "users/member/" . $profile->getUserId() . "'>" . $user->getUsername() . "</a><br/>\n  " . $invitation->commentaire . "</q><br/><br/>\n\t\t\t\t\t\t\t\tRejoignez le mouvement de la consommation collaborative!<br />\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\tA tout de suite sur <a href=" . $this->serverName . ">TIPKIN</a> ! <br /><br/>Je possède. Tu empruntes. Nous partageons !\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\tL'équipe TIPKIN.</p>\n\t\t\t\t\t\t\t\t";
        $email_error = FALSE;
        $invitation->explodeEmailsListe();
        $this->replaceContentKeywords();
        $mail = new PHPmailer();
        //        $mail->IsSMTP();
        $mail->IsSendMail();
        //$mail->SMTPDebug=true;    //permet de voir les erreurs si ça ne fonctionne pas
        $mail->Host = ini_get('SMTP');
        // Connexion au serveur SMTP
        $mail->Port = 25;
        //$mail->SMTPAuth = true; // Cette partie est optionnelle si le serveur SMTP n'a pas besoin d'authentification
        //$mail->Username = '******'; // mettre l'adresse email que founit l'hébergeur
        //$mail->Password = '******'; // le mot de passe pour se connecter à votre boite mail sur l'hébergeur
        $mail->IsHTML(true);
        // Permet d'écrire un mail en HTML (=> conversion des balises
        $mail->CharSet = 'UTF-8';
        // évite d'avoir des caractères chinois :)
        $mail->From = '*****@*****.**';
        // adresse mail du compte qui envoi
        $mail->AddReplyTo($this->from);
        $mail->FromName = "L'équipe TIPKIN";
        // remplace le nom du destinateur lors de la lecture d'un email
        $mail->Subject = $this->subject;
        // l'entête = nom du sujet
        $mail->Body = $this->content;
        // le corps = le message en lui-même, codé en HTML si vous voulez
        //$adresses = explode(",", $this->to);
        $invitation->email_error = FALSE;
        $invitation->email_sent = FALSE;
        foreach ($invitation->getEmailsliste() as $email) {
            $mail->AddAddress($email);
            // adresse du destinataire, plusieurs adresses possibles en même temps !
            $Syntaxe = '#^[\\w.-.+]+@[\\w.-]+\\.[a-zA-Z]{2,6}$#';
            if (preg_match($Syntaxe, $email)) {
                $checkemail = true;
            } else {
                $checkemail = false;
            }
            /*$checkemail=FALSE;
            		if(filter_var($email, FILTER_VALIDATE_EMAIL)){
               			$checkemail=TRUE;
            		}
            		*/
            if (!$mail->Send() || !$checkemail) {
                $_REQUEST['error'] = $mail->ErrorInfo;
                // affiche une erreur => pas toujours explicite
                $error_flag = TRUE;
                $invitation->email_error[] = $email;
            } else {
                $invitation->email_sent[] = $email;
            }
            $mail->ClearAddresses();
        }
        $mail->SmtpClose();
        unset($mail);
        // ferme la connexion smtp et désalloue la mémoire...
        return $email_error;
    }