|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Piece Jointe pour Email (Question débutant) |
Iniciado por guers.florent, mar., 22 2006 4:11 PM - 4 respostas |
| |
| | | |
|
| |
Publicado em março, 22 2006 - 4:11 PM |
Bonjour tout le monde !
Voilà je souhaite joindre un (dans un premier temps), ou plusieurs fichier à un email.
Ma question va peut etre paraitre bete pour certain, peu importe.
j'ai donc utiliser un bouton upload pour selectionner la piece a joindre. Faut il obligatoirement uploader (UploadCopieFichier) le fichier sur le serveur ?
Comment joindre plusieurs piece ? les piece doivent etre copié sur le serveur de messagerie ou sur le serveur qui heberge le site ?
bref si quelqun peut m'expliquer comme cela fonctionne
merci d'avance |
| |
| |
| | | |
|
| | |
| |
Publicado em março, 22 2006 - 8:09 PM |
Le 22/03/2006, Flow a supposé :
Bonjour tout le monde !
Voilà je souhaite joindre un (dans un premier temps), ou plusieurs fichier à un email.
Ma question va peut etre paraitre bete pour certain, peu importe.
j'ai donc utiliser un bouton upload pour selectionner la piece a joindre. Faut il obligatoirement uploader (UploadCopieFichier) le fichier sur le serveur ?
Comment joindre plusieurs piece ? les piece doivent etre copié sur le serveur de messagerie ou sur le serveur qui heberge le site ?
bref si quelqun peut m'expliquer comme cela fonctionne
merci d'avance
tu veux joindre un fichier par email
1 - d'où viens-t-il ? du pc de l'internaute ? donc upload puis email où tu veux (à priori pas vers l'internaute puisque ça vient de chez lui) de ton serveur ? pas d'upload puisque le fichier est déjà chez toi et là tu le mail en PJ où tu veux
2 - plusieurs pj : pas de pb regarde les propriétés nbattache (de mémoire)
Allez le code du formulaire de publication des wtablettes. Vous uploader un fichier, il est sauvegardé sur le serveur. Le webmaster reçoit un mail et le contributeur est en copie de ce mail.
// contrôles de saisies SI VOTREMAIL="" ALORS Erreur("Donnez votre email SVP"+RC+"Cette adresse est obligatoire pour expédier votre requête mais elle ne sera pas communiquée ni publiée") RepriseSaisie(VOTREMAIL) FIN //VérifieExpressionRégulière(MaZoneEmail,"[-.a-z1-9]+[@][-.a-z1-9]+[.][a-z]{2,4}")
SI testAdrMail(VOTREMAIL)=Faux ALORS Erreur("Adresse mail invalide") RepriseSaisie(VOTREMAIL) FIN
SI TVD_TITRE="" ALORS Erreur("Titre de la WTablette obligatoire") RepriseSaisie(TVD_TITRE) FIN //si TVD_comm="" alors // erreur("Description de la WTablette obligatoire") // RepriseSaisie(TVD_TITRE) //FIN SI AUTEUR="" ALORS Erreur("Nom de l'auteur obligatoire"+RC+"Vous pouvez choisir de rester anonyme ensuite") RepriseSaisie(TVD_TITRE) FIN wch est chaîne refId est un entier sRenvoi est une chaîne=PageParamètre("FCKeditor1") TVD_COMM=sRenvoi HtmlCOMM=TVD_COMM SELON TVD_TYPEACT CAS 1 Erreur("Vous ne pouvez publier de chapîtres."+RC+"Merci de contacter le webmaster pour cela") RETOUR CAS 2,3,4,5,11 SI CHPUPLOAD="" ALORS Erreur("Vous devez joindre un fichier") RETOUR FIN CAS 7 // page WebDev Erreur("Cela nécessite une intégration non automatisable dans le projet"+RC+"Merci de contacter le webmaster pour cela") RETOUR
CAS 6 // zone texte CAS 8 // url SI VOTREURL="" ALORS Erreur("Vous devez indiquer votre URL") RETOUR FIN CAS 9,10,12 Erreur("Type de ressource non prévue pour les WTablettes."+RC+"Merci de contacter le webmaster pour cela") RETOUR
FIN txtmsg est une chaîne txtmsg="De "+AUTEUR+" "+VOTREMAIL+" le "+DateVersChaîne(DateSys())+" à "+HeureVersChaîne(HeureSys())+RC+RC+... "(ce mail vous a aussi été envoyé à votre adresse)"+RC+... "Merci d'enregistrer ma volonté de publier dans les WTablettes la ressource suivante :"+RC SI ANONYM=1 ALORS txtmsg+="(Notez que j'accepte que mon nom "+AUTEUR+" soit cité)"+RC SINON txtmsg+="(Notez que je préfère rester anonyme)"+RC FIN txtmsg+=TVD_TITRE+" Ressource rattachée à "+ComboPere[ComboPere]+" "+ComboPere[ComboPere]..ValeurAffichée+RC txtmsg+="Type de contribution "+TVD_TYPEACT+"-->"+FORME[FORME]..Libellé+RC+RC+RC SELON TVD_TYPEACT CAS 2,3,4,5,11 txtmsg+="Pièce jointe :"+CHPUPLOAD+RC+RC CAS 8 txtmsg+="URL à pointer :"+VOTREURL+RC+RC FIN txtmsg+="Description "+RC+TVD_COMM+RC+RC+RC txtmsg+="J'ai bien noté que cette publication devait au préalable faire l'objet d'une validation."+RC+... "L'équipe des WTablettes pourra apporter quelques modifications et me rendra compte des raisons d'une éventuelle non publication"+... "(exclusivement pour les demandes sérieuses bien sûr)"+RC // crée un enreg dans le fichier HF DEMANDEPUBLI HRAZ(DEMANDEPUBLI) DEMANDEPUBLI.DATE_PUB=DateSys() DEMANDEPUBLI.AUTEUR=AUTEUR DEMANDEPUBLI.ANONYM=ANONYM DEMANDEPUBLI.FICORIGIN=UploadNomFichier(CHPUPLOAD, Faux) DEMANDEPUBLI.TVD_TITRE=TVD_TITRE DEMANDEPUBLI.TVD_COMM=TVD_COMM DEMANDEPUBLI.TVD_TYPEACT=TVD_TYPEACT DEMANDEPUBLI.TXTMSG=txtmsg DEMANDEPUBLI.VOTREMAIL=VOTREMAIL DEMANDEPUBLI.VOTREURL=VOTREURL DEMANDEPUBLI.TVD_PERE=ComboPere[ComboPere] DEMANDEPUBLI.TVE_ID=gTVE_ID HAjoute(DEMANDEPUBLI)
refIdÞMANDEPUBLI.IDDEMANDEPUBLI wch="WT"+NumériqueVersChaîne(refId,"06d")+fExtraitChemin(DEMANDEPUBLI.FICORIGIN,fExtension) DEMANDEPUBLI.FICDESTIN=fRepWeb()+"\Public\Avalider\"+wch HModifie(DEMANDEPUBLI)
// sauvegarde au format mySQL dans WDEMPUBLI monSQL:RAZInsert() monSQL:SetCurrentTable("WDEMPUBLI") monSQL:AddInsert("PUB_ID",DEMANDEPUBLI.IDDEMANDEPUBLI) monSQL:AddInsert("PUB_AUTHOR",Quote(DEMANDEPUBLI.AUTEUR)) monSQL:AddInsert("PUB_EMAIL",Quote(DEMANDEPUBLI.VOTREMAIL)) monSQL:AddInsert("PUB_ANONYM",DEMANDEPUBLI.ANONYM) monSQL:AddInsert("PUB_FORIG",Quote(DEMANDEPUBLI.FICORIGIN)) monSQL:AddInsert("PUB_FDESTIN",Quote(DEMANDEPUBLI.FICDESTIN)) monSQL:AddInsert("PUB_VOTREURL",Quote(DEMANDEPUBLI.VOTREURL)) monSQL:AddInsert("TVD_COMM",Quote(DEMANDEPUBLI.TVD_COMM)) monSQL:AddInsert("TVD_TITRE",Quote(DEMANDEPUBLI.TVD_TITRE)) monSQL:AddInsert("PUB_DATEPUB",DateSGBD(DEMANDEPUBLI.DATE_PUB,cToSGBD)) monSQL:AddInsert("PUB_TXTMSG",Quote(DEMANDEPUBLI.TXTMSG)) monSQL:AddInsert("TVE_ID",DEMANDEPUBLI.TVE_ID) monSQL:AddInsert("TVD_PERE",DEMANDEPUBLI.TVD_PERE) monSQL:AddInsert("TVD_TYPEACT",DEMANDEPUBLI.TVD_TYPEACT)
ExecUpdate(monSQL:CreeOrdreSQL("INSERT"))
EmailOuvreSessionSMTP("EnvoiEmail", "localhost")
//Email.Expéditeur = "NomExpéditeur <adresse@expediteur.com>" Email.Expéditeur = AUTEUR+" <"+VOTREMAIL+">" Email.Destinataire[1] = "contact <contact@wtablettes.net>" Email.Destinataire[2]=AUTEUR+" <"+VOTREMAIL+">" Email.NbDestinataire = 2 Email.NbAttache=0 Email.Sujet = "[PUBLIEZ] "+AUTEUR + " va publier "+TVD_TITRE+" ["+refId+"]" Email.Message = txtmsg // Envoie le mail SI PAS EmailEnvoieMessage("EnvoiEmail") ALORS Erreur("EmailEnvoieMessage a échoué '" + ErreurInfo(errMessage) + "'") SINON Info("Votre demande a été envoyée par Email (+copie à votre adresse)"+RC+... "Merci de votre participation aux WTablettes") FIN EmailFermeSession("EnvoiEmail") //// Uploade le fichier dans le répertoire _WEB sNomFichierCopié est une chaîne = UploadCopieFichier(CHPUPLOAD, fRepWeb()+"\Public\Avalider",wch)
-- Eric Roumégou Webmaster des wtablettes |
| |
| |
| | | |
|
| | |
| |
Publicado em março, 23 2006 - 10:29 AM |
Merci pour ses précisions, ca me parait plus clair. Il faut donc que je copie le fichier a joindre sur mon serveur... ca risque au final de prendre de la place.
Une fois l'email envoyé peut on supprimer les pieces jointes (enregistré donc sur le serveur) ?
Afin de joindre mes fichiers a l'email j'ai déclaré en global un tableau de 3 chaines. Tout se passe bien. lorsque je joint 3 pieces jointes, mais lorsque que j'en joint moins, l'envoi d'email est impossible, car en parcourant mon tableau il tombe sur des valeurs égal à "" (chaine vide)
Je pensait donc passer par un tableau dynamique mais je n'arrive pas a l'initialiser. Quelqun peut il m'aider ou me donner une autre idée ?
merci d'avance bon dev' |
| |
| |
| | | |
|
| | |
| |
Publicado em março, 23 2006 - 11:07 AM |
Il se trouve que Flow a formulé :
Merci pour ses précisions, ca me parait plus clair. Il faut donc que je copie le fichier a joindre sur mon serveur... ca risque au final de prendre de la place. Une fois l'email envoyé peut on supprimer les pieces jointes (enregistré donc sur le serveur) ?
of course ... regarde fsupprime
Afin de joindre mes fichiers a l'email j'ai déclaré en global un tableau de 3 chaines. Tout se passe bien. lorsque je joint 3 pieces jointes, mais lorsque que j'en joint moins, l'envoi d'email est impossible, car en parcourant mon tableau il tombe sur des valeurs égal à "" (chaine vide)
il faut penser à mettre Email.NbAttache=la bonne valeur et bien raz ton tableau à chaque fois
Je pensait donc passer par un tableau dynamique mais je n'arrive pas a l'initialiser. Quelqun peut il m'aider ou me donner une autre idée ?
pas la peine, c'est surement à cause de Email.NbAttache
merci d'avance bon dev'
-- Eric Roumégou Webmaster des wtablettes |
| |
| |
| | | |
|
| | |
| |
Publicado em março, 23 2006 - 1:23 PM |
Encore une grand merci, je ce que je souhaitait faire fonctionne desormais. Il reste encore des amélioration a faire mais c'est pas mal
Un grand merci a toi Eric |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|