Envoi automatique de mail avec Ajax au chargement de page
Kelsilver
-
26 janv. 2018 à 11:06
jordane45
Messages postés38137Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 avril 2024
-
13 févr. 2018 à 23:30
Bonjour,
J'ai cherché sans trouver satisfaction. Voici mon problème: je veux qu'au chargement de ma page, qu'un message soit envoyé à une adresse mail. Voici ce que cela peut ressembler :
Merci Jordane45,
Mais, étant donné que je veux envoyer un message par mail au chargement de ma page, comment faire cela sans cliquer sur un bouton SUBMIT ? L'objectif c'est qu'une fois la page est chargée, un mail est automatiquement envoyé à l'adresse mail indiquée.
Aidez moi
jordane45
Messages postés38137Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 avril 2024344 26 janv. 2018 à 18:24
La solution de Jordane45 est la bonne, il faut passer par la fonction mailto de PHP (IE utiliser un langage "serveur") pour envoyer un email.
Si tu souhaite envoyer un email au chargement de la page sans appuyer sur le bouton SUBMIT, à quel moment compte tu récupérer le contenu du message ?
Pour faire ce que tu souhaite faire il ne te reste qu'une seule solution :
$.sendMail=function(o){
var _mail= o.mail //< ici l'adresse email
var _url= o.url // < page PHP prévue pour l'envoi du mail
var contenu_message = $("#contenu_message").val(); // mais tu peux mettre var content_message=o.content
$.ajax({
url:_url+"?mail="+_mail,
type:'POST',
data:'content='+contenu_message,
success:function(d){
//ICI LE CODE SI ENVOI
}
});
}
jordane45
Messages postés38137Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 avril 2024344
>
Profil bloqué
13 févr. 2018 à 23:30
Petite précision:
Lorsque l'ont utilise la méthode POST il est préférable de passer les variables en tant qu'objet au lieu de les mettre dans l'url comme tu le fais :
De plus maintenant on utilise plutôt le .done au lieu du .success
Voici ce qui est indiqué dans la documentation officielle : Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are removed as of jQuery 3.0. You can use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead