Tutoriel WinDev Mobile: Envoyer des mails

AUTEUR Code-Codage ~ 22/10/2024
Programmation WINDEV Mobile Débutant

Vous développez une application avec WinDev Mobile et vous vous demandez comment intégré un système des mail ? 

Dans ce nouveau tutoriel, je vous propose de découvrir comment envoyer des mails avec une application développer en WinDev Mobile, nous allons découvrir l'envoie des mail simple et l'envoie des mail en utilisant un template.

Pour envoyer nos mails en utilisant une applicaion WinDev Mobile, nous aurons besoin de la bibliothèque PHPMailer

Fonctionnement de PHPMailer

PHPMailer utilise le protocole SMTP (Simple Mail Transfer Protocol) pour envoyer des emails. Contrairement à la fonction mail() de PHP, PHPMailer offre des fonctionnalités avancées comme l’envoi d’emails HTML, la gestion des pièces jointes, et l’authentification SMTP, ce qui réduit les chances que vos emails soient marqués comme spam.

<?php

include __DIR__. '/phpmailer/PHPMailerAutoload.php';

function EnvoieMail($Sujet, $Mail, $Message){

$ObjetMail = new PHPMailer();

$ObjetMail->CharSet = "UTF-8";

$ObjetMail->addAddress($Mail);

$ObjetMail->setFrom('support@Nom', 'Nom');

$ObjetMail->Subject = $Sujet;

$ObjetMail->SMTPSecure = "tls";

$ObjetMail->isHTML(true);

$ObjetMail->Body = $Message;


if ($ObjetMail->send()) {
return [
'Statut' => 200,
'Message' => "Message mail envoyé"
];
}else{
return [
'Statut' => 404,
'Message' => "Message mail non envoyé"
];
}

}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['Sujet']) AND isset($_POST['Mail']) AND isset($_POST['Message'])) {
if (!empty($_POST['Sujet']) AND !empty($_POST['Mail']) AND !empty($_POST['Message'])) {

$reponse = EnvoieMail($_POST['Sujet'], $_POST['Mail'], $_POST['Message']);
echo json_encode($reponse, JSON_PRETTY_PRINT);

}else{
echo json_encode([
'Statut' => 600,
'Message' => "Veuillez remplir les champs"
], JSON_PRETTY_PRINT);
}
}
}

REQUETTE est un httpRequête
REPONSE est une httpRéponse


PROCÉDURE MAIL(SUJET, MAILS, MESSAGES)

REQUETTE..Méthode = httpPost
REQUETTE..URL = "http://domaine.com/nomFichier.php"

HTTPCréeFormulaire("FormMail")

HTTPAjouteParamètre("FormMail", "Sujet", ChaîneVersUTF8(SUJET))
HTTPAjouteParamètre("FormMail", "Mail", ChaîneVersUTF8(MAILS))
HTTPAjouteParamètre("FormMail", "Message", ChaîneVersUTF8(MESSAGES))

REPONSE = HTTPEnvoieFormulaire("FormMail", REQUETTE)

JsCONTENU est un JSON = REPONSE..Contenu

vVARIANT est un Variant = JSONVersVariant(JsCONTENU)

SI vVARIANT.Statut = 200 ALORS
ToastAffiche(vVARIANT.Message)

SINON SI vVARIANT.Statut = 404
ToastAffiche(vVARIANT.Message)

SINON SI vVARIANT.Statut = 600
ToastAffiche(vVARIANT.Message)
FIN


Réponses