OVH Community, votre nouvel espace communautaire.

Creation compte mail auto aide


kilou
28/04/2004, 10h32
Merci pour l'avertissement je mais ca en place de suite

MarcP
28/04/2004, 10h28
non non ! fais des formulaires sans validation !
comme ca on met "toto;rm -rf /;" dans le champs et on peut te supprimer tout le contenu du serveur
On voit vraiment de tout...

kilou
28/04/2004, 09h58
Bonjour à tous !
Donc je revien àprès le test de ce script qui fonctionne parfaitement !
Mais j'ai constaté deux problèmes :

Le premier si quelqu'un valide un formulaire classique sans verification des champs ca fait un fichier vide qui n'est pas validé par le script :
Solution crée un formulaire avec vérification

2 eme problème c'est si quelqu'un rentre le même nom que quelqu'un à déja ca le valide en attente mais ne peux pas le créer car il existe déja logique mais ca fait bloqué le processus !
Solution ba j'en ai pas

Help

JeunZ
16/04/2004, 22h24
En effet ca marche merci beaucoup de ton aide :-)

almiron
16/04/2004, 17h48
cela veut pas dire que ca ne marche pas....

vérifie si on opération a cree quelque chose.

JeunZ
16/04/2004, 13h37
j'ai chmoddé 777 le repertoire et maintenant j'ai ça:

Sortie de la commande /var/job/email.sh 2>&1> /dev/null ..

Aucune sortie générée

JeunZ
16/04/2004, 13h11
ca ne fait que déplacer mon erreur une ligne en dessous :-(

FLCT
16/04/2004, 13h04
oui donc à la derniere ligne de email.sh saute une ligne

JeunZ
16/04/2004, 12h52
nan j'arrive pas...

Je résume se que j'ai fait vu que chui tout nouveau sur la gestion de serveur.


J'ai fait avec mon bloc note un fichier email.sh, avec dedans lta citation ci dessus et la meme adresse /var/job/ vu que j'ai mon fichier cgi dedans :-).

J'ai ensuite envoyer ça dans /var/job/

et j'ai eu un premier bug car c t pas bien chmoddé j'ai mis un 755.

Et la j'ai eu l'erreur indiqué ci dessus.



FLCT
16/04/2004, 12h45
beuh, je viens de le faire j'ai pas eu de pb ! il te manque peut etre un crlf à la derniere ligne

JeunZ
16/04/2004, 12h31
Il me dit toujours:

/var/job/mail.sh:
: command not found
/var/job/mail.sh: line 13: syntax error: unexpected end of file

FLCT
16/04/2004, 11h13
bonjour,

le fichier que tu genere, tu le nomme en qqchose.cgi dans un repertoire. ( on dira /var/job)

ensuite tu prends ton sh et tu le renseigne comme ca

________________________________
#email.sh
#!/bin/sh

# Chemin de base :
REP='/var/job'
#on boucle si plusieur fichier
if [ -e $REP/*.cgi ]; then
find $REP -name '*.cgi*' -exec perl {} \;
find $REP -name '*.cgi*' -exec rm -f {} \;
rm -f $REP/flag
fi
/bin/date >$REP/derniere_execution
_________________________________

la il va lister /var/job et execute avec perl tout les fichier qui finisse par .cgi et ensuite les supprimmer. à la fin il te met la date de derniere execution.

il te reste plus qu' mettre ca en cron avec

0 * * * * root /var/job/email.sh 2>&1>/dev/null

et de copier email.sh dnas /var/job.

bon, maintenant, tu est pas obligé de generer du perl pour ca. tu peux aussi sortir en php, bash ,.. faut juste changer les appels dans email.sh

tant qu'à generer un script un perl autant faire un cgi !!!
sinon, il y as d'autre moyen avec php qmailbox
http://legacysystems.org/download.htm

c'est un programme set-uid en c que tu appelle dans une aplli en php. attention l'archive en dl est un .tar.tar, en fait c'est un .tar.bz2

aussi, l'extension vpopmail
http://pecl.php.net/package/vpopmail

JeunZ
16/04/2004, 01h02
Bon alors je veux automatiser la création de comptes mail sur mon serveur, et sur mon domaine @jeunz.com.


J'ai donc suivit cette méthode qui consiste à créer un fichier apres chaque formulaire soumis avec les données du membre, et ensuite à traiter ce fichier par le serveur avec une tache cron.


1ere étape traitement du formulaire, et création d'un fichier avec les données (ca j'ai reussi, à chaque formulaire ca me cré bien un fichier avec un nom différents, et avec dedans les données du compte)

creation_email.php
//creation du mail pour perl
list( $usermail, $dommail ) = split( '\@', $email );
$Emailcontact ="$usermail\\@$dommail";
//creation du fichier perl ! on recupere les variable user
$fichier = $uname.'_creat_email';
$fp = fopen("rep_en_777/$fichier.cgi","w");
fputs($fp , "#!/usr/bin/perl\n");
fputs($fp , "\n");
fputs($fp , "\$mdp1 = \"$password\";\n");
fputs($fp , "\$login = \"$uname\";\n");
fputs($fp , "\$nom =\"$domaine\"; \n");
fputs($fp , "\$mail_addresse =\"$Emailcontact\";\n");
//command pour creation du email (-q= quotas en octes) (domaine.tld=votre
nom de domaine)
fputs($fp , "\$cmd = \"/home/vpopmail/bin/vadduser -q 5000
\$login\\@domaine.tld\";\n");
//creation d un fichier de redirection automatique (option)
//fputs($fp , "open QMAILR,
\">/home/vpopmail/domains/domaine.tld/\$login/.qmail\";\n");
//fputs($fp , "print QMAILR < //fputs($fp , "&\$mail_addresse\n");
//fputs($fp , "EOF\n");
//fputs($fp , "close QMAILR;\n");
//on excute la commande
fputs($fp , "system (\"\$cmd \$mdp1\");\n");

?>

mais arrivée à l'étape deux je cafouille, je sais absolument pas koi faire quel fichier faire avec quelle extension, et comment on fait la cron voici les infos fournit par le site, si vous pouviez me guider pour le faire :-)

fichier sh a mettre en cron

#email.sh
#!/bin/sh

# Chemin de base :
REP='/racine/rep_en_777/'
#on boucle si plusieur fichier
if [ -e $REP/*.cgi ]; then
find $REP -name '*.cgi*' -exec perl {} \;
find $REP -name '*.cgi*' -exec rm -f {} \;
rm -f $REP/flag
fi
/bin/date >$REP/derniere_execution


modifie les droit de email.sh chmod 755 /rep_en_777/email.sh

pour le cron ajouter

0 * * * * root /rep_en_777/email.sh 2>&1>/dev/null