Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Auteurs: Louvet Hugo & Marec Alexis
- Date de création: 25/11/2017
- Date de dernière MAJ: 30/11/2017
- */
- var mesContacts,mesSMTP,nbSMTP,nbcontacts;
- function Contact (pnom,pprenom,padresse) {
- this.nom =pnom;
- this.prenom = pprenom;
- this.adressemail= padresse;
- }
- /* objet Email qui permet de definir la fonction send*/
- Email = { send: function (a, b, c, d, e, f, g) { var h = Math.floor(1e6 * Math.random() + 1), i = "https://smtpjs.com/smtp.aspx?"; i += "From=" + a, i += "&to=" + b, i += "&Subject=" + encodeURIComponent(c), i += "&Body=" + encodeURIComponent(d), void 0 == e.token ? (i += "&Host=" + e, i += "&Username=" + f, i += "&Password=" + g, i += "&Action=Send") : (i += "&SecureToken=" + e.token, i += "&Action=SendFromStored"), i += "&cachebuster=" + h, Email.ajax(i) }, sendWithAttachment: function (a, b, c, d, e, f, g, h) { var i = Math.floor(1e6 * Math.random() + 1), j = "https://smtpjs.com/smtp.aspx?"; j += "From=" + a, j += "&to=" + b, j += "&Subject=" + encodeURIComponent(c), j += "&Body=" + encodeURIComponent(d), j += "&Attachment=" + encodeURIComponent(h), void 0 == e.token ? (j += "&Host=" + e, j += "&Username=" + f, j += "&Password=" + g, j += "&Action=Send") : (j += "&SecureToken=" + e.token, j += "&Action=SendFromStored"), j += "&cachebuster=" + i, Email.ajax(j) }, ajax: function (a) { var b = Email.createCORSRequest("GET", a); b.onload = function () { var a = b.responseText; console.log(a) }, b.send() }, createCORSRequest: function (a, b) { var c = new XMLHttpRequest; return "withCredentials" in c ? c.open(a, b, !0) : "undefined" != typeof XDomainRequest ? (c = new XDomainRequest, c.open(a, b)) : c = null, c } };
- // correction V1 envoi message
- function envoimessageV1() {
- // recupere les informations saisies dans le formulaire et permet d envoyer un message
- var select_serveur_smtp=document.getElementById('listeSMTP');
- var serveur_smtp=select_serveur_smtp.options[select_serveur_smtp.selectedIndex].text;
- var expediteur=document.getElementById('Expediteur').value;
- var motpasse=document.getElementById('Motpasse').value;
- var destinataire=document.getElementById('Destinataire').value;
- var objet=document.getElementById('Objet').value;
- var destinataire_copie=document.getElementById('Destinataire_copie').value;
- var destinataire_cache=document.getElementById('Destinataire_cache').value;
- var message=document.getElementById('Message').value;
- var message_resultat;
- /*Email.send("adresse expediteur","adresse destinataire","texte de l objet","texte du message","nom du serveur smtp","adresse expediteur", "mdp expediteur");*/
- // verifie le contenu de chaque zone
- if (expediteur=="" || !verifMailV1(expediteur) ){
- message_resultat="expediteur incorrect";
- }
- else {
- if (motpasse=="" ){
- message_resultat="mot de passe incorrect";
- }
- else {
- // un seul destinataire saisi par zone
- if (destinataire=="" || !verifMailV1(destinataire) ){
- message_resultat="destinataire incorrect";
- }
- else {
- if ( !verifMailV1(destinataire_copie) ){
- message_resultat="destinataire en copie incorrect";
- }
- else {
- if (!verifMailV1(destinataire_cache) ){
- message_resultat="destinataire en copie cache incorrect";
- }
- else {
- if (objet=="" ){
- message_resultat="objet à renseigner";
- }
- else {
- if (message=="" ){
- message_resultat="message à renseigner";
- }
- else {
- message_resultat="Envoi de mail à :"+destinataire;
- Email.send(expediteur,destinataire,objet,message,serveur_smtp,expediteur,motpasse);
- if (destinataire_copie!="" ){
- message_resultat+=" et en copie à :"+destinataire_copie;
- Email.send(expediteur,destinataire_copie,objet,message,serveur_smtp,expediteur,motpasse);
- }
- if (destinataire_cache!="" ){
- message_resultat+=" et en cache à :"+destinataire_cache;
- Email.send(expediteur,destinataire_cache,objet,message,serveur_smtp,expediteur,motpasse);
- }
- }
- }
- }
- }
- }
- }
- }
- alert(message_resultat);
- }
- function envoimessage() {
- // recupere les informations saisies dans le formulaire et permet d envoyer un message
- var select_serveur_smtp=document.getElementById('listeSMTP');
- var serveur_smtp=select_serveur_smtp.options[select_serveur_smtp.selectedIndex].text;
- var expediteur=document.getElementById('Expediteur').value;
- var motpasse=document.getElementById('Motpasse').value;
- var destinataire=document.getElementById('Destinataire').value;
- var objet=document.getElementById('Objet').value;
- var destinataire_copie=document.getElementById('Destinataire_copie').value;
- var destinataire_cache=document.getElementById('Destinataire_cache').value;
- var message=document.getElementById('Message').value;
- var erreur = false;
- var message;
- // 3 tableaux des destinataires, de ceux en copie, et de ceux en copie cachée
- var lesdestinataires,lesdestinataires_copie_cache,lesdestinataires_copie;
- lesdestinataires = new Array();
- lesdestinataires_copie_cache = new Array();
- lesdestinataires_copie = new Array();
- //Vérification de saisies et gestions d'erreurs
- if(expediteur == "")
- {
- message += "Merci de remplir le champs expéditeur \n";
- erreur = true;
- }
- else
- {
- if(motpasse == "")
- {
- message += "Merci d'indiquer votre mot de passe \n";
- erreur = true;
- }
- }
- /*Email.send("adresse expediteur","adresse destinataire","texte de l objet","texte du message","nom du serveur smtp","adresse expediteur", "mdp expediteur");*/
- //Email.send("xxx@laposte.net","yyy@netcourrier.com","texte de l objet","texte du message","smtp.laposte.net","xxx@laposte.net","mdp");
- // verifie le contenu de chaque zone de saisie
- // expression regulière : recherche des separateurs ";"
- var reg=new RegExp("[;]+", "g");
- // enlever le dernier ; de la chaine
- destinataire=destinataire.substr(0, destinataire.length-1);
- // decoupe la chaine en recherchant le separateur ; et met le contenu dans le tableau lesdestinataires
- lesdestinataires=destinataire .split(reg);
- // afficher le contenu du tableau les destinataires afin de vérifier les valeurs
- var i=0;
- while(i<lesdestinataires.length)
- {
- var message;
- message += lesdestinataires[i] + "\n";
- i++;
- }
- alert(message);
- // envoi de mail aux destinataires
- // envoi de mail aux destinataires en copie
- // envoi de mail aux destinataires en copie cachée
- }
- function chargerSMTP(){
- var selectSMTP=document.getElementById("listeSMTP");
- var uneOption,nb;
- // construit et crée les options de la liste deroulante
- selectSMTP.options.length = 0;
- for (i = 0; i < nbSMTP; i++) {
- // création option
- uneOption = new Option( mesSMTP.serveurs[i].smtp,i);
- // ajout de l'option en fin de liste
- selectSMTP.options.add(uneOption);
- }
- }
- function ouvrirFichier(plefichier){
- var fichierBrut = new XMLHttpRequest();
- var texteComplet,mon_document;
- var contenufichier;
- // accede au fichier passé en paramètre
- fichierBrut.open("GET", plefichier, true); //
- fichierBrut.onreadystatechange = function (){
- if(fichierBrut.readyState === 4) // verifier que les données du fichier sont accessibles
- {
- // verifier que le transfert du fichier s est bien déroulé
- if(fichierBrut.status === 200 || fichierBrut.status === 0)
- {
- //On peut récupérer puis traiter le texte du fichier
- texteComplet = fichierBrut.responseText;
- alert("texte"+texteComplet);
- //decoupe le texte JSON en utilisant une methode parse
- contenufichier = JSON.parse(texteComplet);
- // recupère les contacts
- if (contenufichier.contacts){
- mesContacts=contenufichier;
- nbcontacts=contenufichier.serveurs.length;
- for (i=0; i<contenufichier.contacts.length; i++){
- //alert( mesContacts.contacts[i].nom);
- }
- }
- // recupere les serveurs
- if (contenufichier.serveurs){
- mesSMTP=contenufichier;
- nbSMTP=contenufichier.serveurs.length;
- for (i=0; i<contenufichier.serveurs.length; i++){
- //alert( mesSMTP.serveurs[i].smtp);
- }
- // charge la liste deroulante
- chargerSMTP();
- }
- }
- }
- };
- fichierBrut.send(null);
- }
- function enregistrer_contacts(){
- // enregistrer le tableau des contacts en telechargeant un fichier au format json
- var myString = JSON.stringify(mesContacts);
- alert (myString);
- alert (" Voici le fichier généré, si vous souhaitez garder son contenu \n vous devrez mettre à jour manuellement (copier/coller) le fichier contacts.json");
- document.location="data:text/json;base64,"+btoa(myString);
- }
- //verifMail pour V1
- function verifMailV1(texte)
- {
- var ok;
- // verifie dans le cas d'une chaine non vide si le texte est d'un format adresse mail : personnel@nomdomaine.extension
- // autorise plusieurs caractères entre crochets associés avec @ nomdomain (minimum 2 caractères).extension (entre 2 et 4 caractères)
- var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
- if (texte!=""){
- if(!regex.test(texte))
- {
- ok=false;
- }
- else
- {
- ok= true;
- }
- }
- else
- {
- ok= true;
- }
- return ok;
- }
- function verifzoneMail(ptexte)
- {
- var ok;
- // verifie si le texte est au format adresse mail
- if(!verifMail(ptexte))
- {
- ok=false;
- }
- else
- {
- ok= true;
- }
- return ok;
- }
- function verifMail(ptexte)
- {
- var bon;
- var message;
- // verifie dans le cas d'une chaine non vide si le texte est d'un format adresse mail : personnel@nomdomaine.extension
- // autorise plusieurs caractères entre crochets associés avec @ nomdomain (minimum 2 caractères).extension (entre 2 et 4 caractères)
- var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
- if(!regex.test(ptexte))
- {
- message ="Erreur, formalisme incorrect : xxx.yyyy@aaaa.com";
- document.getElementById('Under').innerHTML = message;
- Under.style.display = "block";
- Under.style.color = "red";
- bon=false;
- }
- else
- {
- message = "Mail saisi valide : "+ptexte;
- document.getElementById('Under').innerHTML = message;
- Under.style.display = "block";
- Under.style.color = "green";
- bon=true;
- }
- return bon;
- }
- function Error(etat)
- {
- var message;
- switch(etat)
- {
- //Gestion erreur si l'objet est vite
- case 'VerifObjet':
- var objet=document.getElementById('Objet').value;
- if(objet == "")
- {
- message = "Merci d'indiquer un objet.";
- document.getElementById('UnderObjet').innerHTML = message;
- UnderObjet.style.display = "block";
- }
- break;
- //Gestion erreur si le message est vite
- case 'VerifMsg':
- var msg=document.getElementById('Message').value;
- if(msg == "")
- {
- message = "Merci de ne pas laisser le message vide.";
- document.getElementById('UnderMsg').innerHTML = message;
- UnderMsg.style.display = "block";
- }
- break;
- //Gestion erreur si le mot de passe est vite
- case 'VerifMdp':
- var mdp=document.getElementById('Motpasse').value;
- if(mdp == "")
- {
- message = "Merci d'indiquer votre mot de passe.";
- document.getElementById('UnderMdp').innerHTML = message;
- UnderMdp.style.display = "block";
- }
- break;
- }
- }
- function VerifMoreMail()
- {
- var destinataire=document.getElementById('Destinataire').value;
- // expression regulière : recherche des separateurs ";"
- var lesdestinataires = new Array();
- var reg=new RegExp("[;]+", "g");
- var message = "";
- var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
- // enlever le dernier ; de la chaine
- destinataire=destinataire.substr(0, destinataire.length-1);
- // decoupe la chaine en recherchant le separateur ; et met le contenu dans le tableau lesdestinataires
- lesdestinataires=destinataire .split(reg);
- //Gestion erreur si aucune adresse destinataire est renseignée
- if(lesdestinataires[0] == "")
- {
- message = "Merci d'indiquer au moins une adresse mail.";
- alert(message);
- }
- else
- {
- //Verification de la validité des adresses mails dans le tableau
- for(i=0;i<lesdestinataires.length;i++)
- {
- if(!regex.test(lesdestinataires[i]))
- {
- message ="Erreur, formalisme incorrect : xxx.yyyy@aaaa.com";
- document.getElementById('UnderDesti').innerHTML = message;
- UnderDesti.style.display = "block";
- UnderDesti.style.color = "red";
- }
- else
- {
- message = "Les adresses mails saisies sont valides";
- document.getElementById('UnderDesti').innerHTML = message;
- UnderDesti.style.display = "block";
- UnderDesti.style.color = "green";
- }
- }
- }
- }
- function VerifMoreMail2()
- {
- var destinataire=document.getElementById('Destinataire').value;
- // expression regulière : recherche des separateurs ";"
- var lesdestinataires = new Array();
- var reg=new RegExp("[;]+", "g");
- var message = "";
- var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
- // enlever le dernier ; de la chaine
- destinataire=destinataire.substr(0, destinataire.length-1);
- // decoupe la chaine en recherchant le separateur ; et met le contenu dans le tableau lesdestinataires
- lesdestinataires=destinataire .split(reg);
- // afficher le contenu du tableau les destinataires afin de vérifier les valeurs
- if(lesdestinataires[0] == "")
- {
- message = "Merci d'indiquer au moins une adresse mail.";
- alert(message);
- }
- else
- {
- for(i=0;i<lesdestinataires.length;i++)
- {
- if(!regex.test(lesdestinataires[i]))
- {
- message ="Erreur, formalisme incorrect : xxx.yyyy@aaaa.com";
- document.getElementById('UnderDesti').innerHTML = message;
- UnderDesti.style.display = "block";
- UnderDesti.style.color = "red";
- }
- else
- {
- message = "Les adresses mails saisies sont valides";
- document.getElementById('UnderDesti').innerHTML = message;
- UnderDesti.style.display = "block";
- UnderDesti.style.color = "green";
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement