Site
- Add notification for error in create account Serv : - create program for send a mail '
This commit is contained in:
108
a.py
Normal file
108
a.py
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
import smtplib
|
||||||
|
from email.mime.multipart import MIMEMultipart
|
||||||
|
from email.mime.text import MIMEText
|
||||||
|
|
||||||
|
def envoyer_email_icloud(destinataire, sujet, html_message, expediteur, mot_de_passe):
|
||||||
|
msg = MIMEMultipart()
|
||||||
|
nom_expediteur = 'PTME'
|
||||||
|
msg['From'] = f'{nom_expediteur} <ptme@tmoron.fr>'
|
||||||
|
msg['To'] = destinataire
|
||||||
|
msg['Subject'] = sujet
|
||||||
|
msg.attach(MIMEText(html_message, 'html'))
|
||||||
|
try:
|
||||||
|
serveur = smtplib.SMTP('smtp.mail.me.com', 587)
|
||||||
|
serveur.ehlo()
|
||||||
|
serveur.starttls()
|
||||||
|
serveur.ehlo()
|
||||||
|
serveur.login(expediteur, mot_de_passe)
|
||||||
|
serveur.sendmail(expediteur, destinataire, msg.as_string())
|
||||||
|
serveur.quit()
|
||||||
|
print("E-mail envoyé avec succès !")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Erreur lors de l'envoi de l'e-mail : {e}")
|
||||||
|
|
||||||
|
expediteur = 'tom.moron@icloud.com'
|
||||||
|
mot_de_passe = 'mot_de_passe'
|
||||||
|
destinataire = 'eddydhj@gmail.com'
|
||||||
|
sujet = 'Création de compte'
|
||||||
|
message = '''
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
background-color: #1e1e1e;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
max-width: 600px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 20px;
|
||||||
|
background-color: #2c2c2c;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
h1 {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 24px;
|
||||||
|
margin-bottom: 50px;
|
||||||
|
background-color: #1e1e1e;
|
||||||
|
padding: 20px;
|
||||||
|
border-radius: 8px;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
color: #cccccc;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
.button {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 10px 20px;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #0f0f0f;
|
||||||
|
border-radius: 5px;
|
||||||
|
text-decoration: none;
|
||||||
|
margin: 20px;
|
||||||
|
margin-left: 25%;
|
||||||
|
margin-right: 25%;
|
||||||
|
width: 50%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
font-size: 12px;
|
||||||
|
background-color: #1e1e1e;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<table class="container" role="presentation">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h1>Bienvenue chez PTME !</h1>
|
||||||
|
<p>Bonjour [Nom],</p>
|
||||||
|
<p>Merci d'avoir créé un compte avec PTME ! Nous sommes ravis de vous accueillir parmi nous.</p>
|
||||||
|
<p>Pour compléter votre inscription, veuillez vérifier votre adresse e-mail en cliquant sur le bouton ci-dessous :</p>
|
||||||
|
<p><a href="[Lien de vérification]" class="button">Confirmer mon adresse e-mail</a></p>
|
||||||
|
<p>Si vous n'avez pas demandé cette inscription, vous pouvez ignorer cet e-mail.</p>
|
||||||
|
<p>Merci,</p>
|
||||||
|
<p>L'équipe PTME</p>
|
||||||
|
<div class="footer">
|
||||||
|
<p>42, 49 Bd Besson Bey, 16000 Angoulême, France</p>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
'''
|
||||||
|
|
||||||
|
envoyer_email_icloud(destinataire, sujet, message, expediteur, mot_de_passe)
|
@ -6,7 +6,7 @@
|
|||||||
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/07/31 22:17:24 by edbernar #+# #+# */
|
/* Created: 2024/07/31 22:17:24 by edbernar #+# #+# */
|
||||||
/* Updated: 2024/08/30 15:42:51 by edbernar ### ########.fr */
|
/* Updated: 2024/09/09 14:47:26 by edbernar ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -17,6 +17,7 @@ import { typePrivateListMessage } from "/static/javascript/typeResponse/typePriv
|
|||||||
import { typeNewPrivateMessage } from "/static/javascript/typeResponse/typeNewPrivateMessage.js";
|
import { typeNewPrivateMessage } from "/static/javascript/typeResponse/typeNewPrivateMessage.js";
|
||||||
import { typePrivateListUser } from "/static/javascript/typeResponse/typePrivateListUser.js";
|
import { typePrivateListUser } from "/static/javascript/typeResponse/typePrivateListUser.js";
|
||||||
import { typeAllListUser }from "/static/javascript/typeResponse/typeAllListUser.js";
|
import { typeAllListUser }from "/static/javascript/typeResponse/typeAllListUser.js";
|
||||||
|
import { createNotification as CN } from "/static/javascript/notification/main.js";
|
||||||
import { typeLogin } from "/static/javascript/typeResponse/typeLogin.js";
|
import { typeLogin } from "/static/javascript/typeResponse/typeLogin.js";
|
||||||
|
|
||||||
const socket = new WebSocket('/ws');
|
const socket = new WebSocket('/ws');
|
||||||
@ -44,10 +45,18 @@ socket.onmessage = (event) => {
|
|||||||
}
|
}
|
||||||
if (response.code >= 9000 && response.code <= 9999)
|
if (response.code >= 9000 && response.code <= 9999)
|
||||||
{
|
{
|
||||||
try {
|
if (response.code >= 9014 && response.code <= 9024)
|
||||||
errorFunction[errorCode.indexOf(response.code)]();
|
{
|
||||||
} catch {
|
console.log(response);
|
||||||
console.warn(response);
|
CN.new("Error", response.content);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
errorFunction[errorCode.indexOf(response.code)]();
|
||||||
|
} catch {
|
||||||
|
console.warn(response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -6,12 +6,12 @@
|
|||||||
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/08/28 12:05:53 by edbernar #+# #+# */
|
/* Created: 2024/08/28 12:05:53 by edbernar #+# #+# */
|
||||||
/* Updated: 2024/09/06 12:02:53 by edbernar ### ########.fr */
|
/* Updated: 2024/09/09 13:07:00 by edbernar ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
import { MultiGame } from "./class/MultiGame";
|
import { MultiGame } from "./class/MultiGame";
|
||||||
import { SoloGame } from "./class/SoloGame";
|
import { SoloGame } from "./class/SoloGame";
|
||||||
|
|
||||||
// MultiGame.create();
|
MultiGame.create();
|
||||||
SoloGame.create();
|
// SoloGame.create();
|
Reference in New Issue
Block a user