Comment envoyer des emails en CC ou CCI
Comment envoyer des emails en CC ou CCI
Bonjour à tous,
en ce moment, je fais un logiciel pour l'association des diabétique de la Manche, et ils m'ont demandé un programme qui enregistre les nouveaux membres et qui puisse envoyer des courriels et des courriers postaux.
J'ai donc fait un logiciel en 3 parties pour l'instant : 1 principal qui appelle les autres parties qui sont l'enregistrement des nouveaux membres, l'enregistrement des groupes de membres, et le formulaire de courriel où l'expéditeur est connu et fixé à l'avance puisqu'il s'agit de l'association, là où ça se complique c'est que l'utilisateur doit pouvoir choisir un ou plusieurs destinataires, ou il peut choisir aussi les options #PB_Mail_To, #PB_Mail_Cc et/ou #PB_Mail_Bcc, c'est parfaitement faisable puisque ces options sont natives, mais je ne sais pas comment aborder ce problème.
est-ce que quelqu'un pourrait m'orienter dans la bonne direction, déjà je pense qu'il faut que je fasse une liste des membres dans laquelle on pourra choisir plusieurs membres, si nécessaire, ou peut-être 2 une pour les copies carbone et une pour les copies carbone cachées.
De plus les emails envoyés devront avoir une signature qui se trouve dans le sous-répertoire Images.
Dans tous les cas, je vous remercie beaucoup, car je sais que votre me sera précieuse.
Il y aura aussi une quatrième parties qui devra permettre d'envoyer des courriers, mais je n'en suis pas encore là.
https://www.dropbox.com/sh/5umawca380np ... czCha?dl=0
en ce moment, je fais un logiciel pour l'association des diabétique de la Manche, et ils m'ont demandé un programme qui enregistre les nouveaux membres et qui puisse envoyer des courriels et des courriers postaux.
J'ai donc fait un logiciel en 3 parties pour l'instant : 1 principal qui appelle les autres parties qui sont l'enregistrement des nouveaux membres, l'enregistrement des groupes de membres, et le formulaire de courriel où l'expéditeur est connu et fixé à l'avance puisqu'il s'agit de l'association, là où ça se complique c'est que l'utilisateur doit pouvoir choisir un ou plusieurs destinataires, ou il peut choisir aussi les options #PB_Mail_To, #PB_Mail_Cc et/ou #PB_Mail_Bcc, c'est parfaitement faisable puisque ces options sont natives, mais je ne sais pas comment aborder ce problème.
est-ce que quelqu'un pourrait m'orienter dans la bonne direction, déjà je pense qu'il faut que je fasse une liste des membres dans laquelle on pourra choisir plusieurs membres, si nécessaire, ou peut-être 2 une pour les copies carbone et une pour les copies carbone cachées.
De plus les emails envoyés devront avoir une signature qui se trouve dans le sous-répertoire Images.
Dans tous les cas, je vous remercie beaucoup, car je sais que votre me sera précieuse.
Il y aura aussi une quatrième parties qui devra permettre d'envoyer des courriers, mais je n'en suis pas encore là.
https://www.dropbox.com/sh/5umawca380np ... czCha?dl=0
Dernière modification par Micoute le mer. 25/juil./2018 6:09, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment envoyer des emails en CC ou CCI
Micoute, je pense qu'une base SQL / SQLite serait une solution à ce que tu veux faire.
Si j'ai bien compris ta demande, je ferait une table Groupe (Pour avoir la liste des groupe existant lors de la création des membres) et une table membe.
Avec les fonctions de recherche SQL tu pouras facilement sortire une liste des membres appartenant à un groupe.
Pour donner la possibilité de choisire les options Mail to, mailCC et Bcc, je ferais un truc dans le genre :
Je ne sais pas si ça répond à ta question, je ne suis pas sur d'avoir bien compris ta demande.
Si j'ai bien compris ta demande, je ferait une table Groupe (Pour avoir la liste des groupe existant lors de la création des membres) et une table membe.
Avec les fonctions de recherche SQL tu pouras facilement sortire une liste des membres appartenant à un groupe.
Pour donner la possibilité de choisire les options Mail to, mailCC et Bcc, je ferais un truc dans le genre :
Code : Tout sélectionner
#Mailto = 1
#MailCC = 2
#MailBcc = 4
Declare result()
Declare close()
If OpenWindow(0,0,0,200,300,"bla",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CheckBoxGadget(0,10,10,150,30,"Mail TO")
CheckBoxGadget(1,10,50,150,30,"Mail CC")
CheckBoxGadget(2,10,90,150,30,"Mail Bcc")
ButtonGadget(3,10,130,80,20,"Result")
BindEvent(#PB_Event_CloseWindow,@close())
BindGadgetEvent(3,@result())
EndIf
Repeat : WaitWindowEvent() : ForEver
Procedure result()
Protected result
If GetGadgetState(0) : result + 1 : EndIf
If GetGadgetState(1) : result + 2 : EndIf
If GetGadgetState(2) : result + 4 : EndIf
If result & #Mailto : Debug "Mail to coché": EndIf
If result & #MailCC : Debug "Mail CC coché" : EndIf
If result & #MailBcc : Debug "Mail Bcc coché" : EndIf
EndProcedure
Procedure close()
End
EndProcedure
Re: Comment envoyer des emails en CC ou CCI
Merci boby pour ton aide providentielle,
je me suis peut-être mal expliqué, car mon programme est devenu très complexe pour moi, c'est pourquoi j'ai fait des programmes interdépendants, qui ont chacun une fonction bien précise, en fait pour le problème que je cherche à résoudre pour le moment, c'est de pouvoir choisir les destinataires ayant un certain critère ; "Type 1", "Type 2", "Type donateur", "Type élan solidaire", etc... afin de les cibler plus facilement et l'idée que tu as eut me met déjà sur la bonne voie.
Le type de base de données que j'utilise est le format Json que je trouve très souple d'emploi pour les listes structurées.
Merci encore.
je me suis peut-être mal expliqué, car mon programme est devenu très complexe pour moi, c'est pourquoi j'ai fait des programmes interdépendants, qui ont chacun une fonction bien précise, en fait pour le problème que je cherche à résoudre pour le moment, c'est de pouvoir choisir les destinataires ayant un certain critère ; "Type 1", "Type 2", "Type donateur", "Type élan solidaire", etc... afin de les cibler plus facilement et l'idée que tu as eut me met déjà sur la bonne voie.
Le type de base de données que j'utilise est le format Json que je trouve très souple d'emploi pour les listes structurées.
Merci encore.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment envoyer des emails en CC ou CCI
Le Json est un format de fichier très pratique par sa simplicité, malgré tout, si je t'encourage à choisire le SQL c'est pour la simplicité de ses fonctions de recherche
ex : "SELECT * FROM membre WHERE 'groupe' = 'Type donateur'"
while nextelement(DB)
... getdatabasestring(DB,colone)
wend
Et hop tu as la liste de tes membres du groupe "Type donateur". Beaucoup plus simple et plus performant que faire un système de recherche "maison".
J'éspère t'avoir aidé. Bon courage pour ton logiciel.
ex : "SELECT * FROM membre WHERE 'groupe' = 'Type donateur'"
while nextelement(DB)
... getdatabasestring(DB,colone)
wend
Et hop tu as la liste de tes membres du groupe "Type donateur". Beaucoup plus simple et plus performant que faire un système de recherche "maison".
J'éspère t'avoir aidé. Bon courage pour ton logiciel.
Re: Comment envoyer des emails en CC ou CCI
Oui tu as raison, mais j'ai l'habitude de (travailler) avec ce genre de fichier et je me suis habitué à sa syntaxe.
Un exemple juste pour montrer le principe :
Un exemple juste pour montrer le principe :
Code : Tout sélectionner
;Copier le contenu du fichier json dans la liste provisoire avec les critères choisis
;Exemple avec vrai ou faux
ForEach Elements()
If Left(Elements()\Reponse, 4) = "Vrai" Or Left(Elements()\Reponse, 4) = "Faux"
AddElement(provis())
provis()\Id = Elements()\Id
provis()\Theme = Elements()\Theme
provis()\Sujet = Elements()\Sujet
provis()\Question = Elements()\Question
provis()\Reponse = Elements()\Reponse
EndIf
Next
Code : Tout sélectionner
;Autre exemple avec choix multiples
ForEach Elements()
If Left(Elements()\Reponse, 9) = "Réponse a" Or
Left(Elements()\Reponse, 9) = "Réponse b" Or
Left(Elements()\Reponse, 9) = "Réponse c"
AddElement(provis())
provis()\Id = Elements()\Id
provis()\Theme = Elements()\Theme
provis()\Sujet = Elements()\Sujet
provis()\Question = Elements()\Question
provis()\Reponse = Elements()\Reponse
Position1 = FindString(Elements()\Reponse, "a)")
Position2 = FindString(Elements()\Reponse, "b)")
Position3 = FindString(Elements()\Reponse, "c)")
If Position1 = 9 Or Position2 = 9 Or Position3 = 9
provis()\Reponse1 = "Réponse a"
provis()\Reponse2 = "Réponse b"
provis()\Reponse3 = "Réponse c"
EndIf
EndIf
Next
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
- microdevweb
- Messages : 1798
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: Comment envoyer des emails en CC ou CCI
Bonjour Micoute,
Le soucis avec json est que si ta base de données devient plus conséquente, les recherche vont prendre énormément de temps car si je me fie à ton exemple tu parcours toute la base (imagine avec plusieurs milliers de records).
Donc je suis de l'avis de boby une base Sqllite serait nettement plus appropriée
Le soucis avec json est que si ta base de données devient plus conséquente, les recherche vont prendre énormément de temps car si je me fie à ton exemple tu parcours toute la base (imagine avec plusieurs milliers de records).
Donc je suis de l'avis de boby une base Sqllite serait nettement plus appropriée
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
Re: Comment envoyer des emails en CC ou CCI
D'accord, mais je ne pense pas que le département de la Manche compte des milliers de diabétiques membres de cette association, et en plus il y a une base de données par sites de dépistage.
L'autre problème, c'est que je n'utilise plus les bases de données de type SQL depuis des lustres.
L'autre problème, c'est que je n'utilise plus les bases de données de type SQL depuis des lustres.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment envoyer des emails en CC ou CCI
Pour un projet comme le tiens, je pense que tu n'auras vraiment pas besoin de beaucoup de commande SQL, rien que les bases :
INSERT INTO table VALUES ('valeur 1', 'valeur 2', ...)
UPDATE table SET colonne_1 = 'valeur 1', colonne_2 = 'valeur 2', colonne_3 = 'valeur 3' [WHERE condition]
SELECT colonne (ou * pour toutes les colonnes) FROM table [WHERE condition]
Et si tu as besoin d'autres fonctions http://sql.sh/cours
A toi de voir.
INSERT INTO table VALUES ('valeur 1', 'valeur 2', ...)
UPDATE table SET colonne_1 = 'valeur 1', colonne_2 = 'valeur 2', colonne_3 = 'valeur 3' [WHERE condition]
SELECT colonne (ou * pour toutes les colonnes) FROM table [WHERE condition]
Et si tu as besoin d'autres fonctions http://sql.sh/cours
A toi de voir.
Re: Comment envoyer des emails en CC ou CCI
Je ne dis pas que c'est moins bien comme système, mais je ne suis pas habitué à penser avec celui-ci, j'ai plutôt l'habitude de penser comme ça:
Et comme ma liste structurée Membres_de_Groupe() ne contient que les membres ne correspondant à un seul critère, je travaille donc avec cette liste qui contient tous les emails dont j'ai besoin.
En fait je n'ai besoin que des emails à ce niveau-là. Merci encore pour l'aide que vous m'apportez, qui m'est précieuse.
Code : Tout sélectionner
ForEach Membres()
ForEach Groupes()
Grp = StringField(Groupes()\Nom_Groupe, 1,"")
If Grp = GetGadgetText(#Cmb_Groupe)
AddElement(Membres_de_Groupe())
Membres_de_Groupe()\Nom = Membres()\Nom
Membres_de_Groupe()\Prenom = Membres()\Prenom
Membres_de_Groupe()\Email = Membres()\Email
Membres_de_Groupe()\Groupe = Membres()\Groupe
EndIf
Next
Next
En fait je n'ai besoin que des emails à ce niveau-là. Merci encore pour l'aide que vous m'apportez, qui m'est précieuse.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment envoyer des emails en CC ou CCI
Ta méthode fonctionne Micoute et tu ne devrais pas avoir de différence significative (niveau traitement des tâches) avant plusieurs centaines de membre, si tu te sens plus à l'aise en passant par le Json, ça fera le travail.
Au risque de te sembler insistant, pour tout ce qui est soft à base de BDD, le SQL c'est vraiment magique, je te conseille donc de t'y essayer dans des petits exercices quand ton programme seras fini.
Si tu as besoin d'aide sur d'autres sujets pour ton soft en cours (ou autres), n'hésite pas !
Au risque de te sembler insistant, pour tout ce qui est soft à base de BDD, le SQL c'est vraiment magique, je te conseille donc de t'y essayer dans des petits exercices quand ton programme seras fini.
Si tu as besoin d'aide sur d'autres sujets pour ton soft en cours (ou autres), n'hésite pas !
Re: Comment envoyer des emails en CC ou CCI
Je ferais bien de m'y atteler maintenant, car l'avantage de Json c'est que les bdd sont facilement compréhensible et modifiable aisément.
Le problème que je rencontre en ce moment, c'est comment inscrire la liste des membres qui vont recevoir le mail en copie carbone, je pense que j'aurais le même problème avec la copie carbone invisible.
Merci d'avance à tous ceux qui vont m'aider et j'en ai bien besoin.
Le problème que je rencontre en ce moment, c'est comment inscrire la liste des membres qui vont recevoir le mail en copie carbone, je pense que j'aurais le même problème avec la copie carbone invisible.
Merci d'avance à tous ceux qui vont m'aider et j'en ai bien besoin.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment envoyer des emails en CC ou CCI
Inscrire où / dans quoi, au moment de l'envoie de mail ou au moment de la création des groupes / membres ?Le problème que je rencontre en ce moment, c'est comment inscrire la liste des membres qui vont recevoir le mail en copie carbone
Par rapport à quoi tu te base pour savoir qui devras recevoir un mail ? Toutes les personnes d'un même groupe ? Les personnes d'un même endroit ?
La comme ça c'est un peut chaud de t'aider, on a pas la moindre idée de comment (logistiquement parlant) on sais à qui envoyer un mail / dans quel conditions.
Re: Comment envoyer des emails en CC ou CCI
Normalement quand on reçoit une copie carbone, on a :
Dans le cas d'une copie carbone invisible, je crois que ça doit être :
C'est de ça que je veux parler.De : Micoute
A : boby ; falsam ; microdevweb ; etc...
Dans le cas d'une copie carbone invisible, je crois que ça doit être :
et je pense que chacun à la même, mais en ignorant que d'autres ont reçut le même message.De : Micoute
A : boby
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment envoyer des emails en CC ou CCI
Code : Tout sélectionner
If CreateMail(0, "Micoute@test.com", "sujet")
SetMailBody(0, "bla bla bla")
AddMailRecipient(0, "association des diabétique de la Manche@mail.com", #PB_Mail_To)
ForEach Membres()
If Membres()\Groupe = Groupe_des_personnes_a_qui_envoyer_le_mail
AddMailRecipient(0,membres()\Email,#PB_Mail_Cc
EndIf
Next
EndIf
Re: Comment envoyer des emails en CC ou CCI
Ouah ! Figure-toi que ce n'est pas idiot du tout, rien que d'analyser l'action, j'imagine ce que ça va faire, je teste ça de suite.
Merci beaucoup de m'avoir enlevé la poutre que j'avais dans l'œil, tellement mon programme est devenu compliqué, alors que dans le procédural, il faut analyser action par action, dans un ordre bien déterminé.
Merci beaucoup de m'avoir enlevé la poutre que j'avais dans l'œil, tellement mon programme est devenu compliqué, alors que dans le procédural, il faut analyser action par action, dans un ordre bien déterminé.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !