| Envoyer un e-mail depuis Panoramic avec Google Gmail | |
|
|
Auteur | Message |
---|
Marc
Nombre de messages : 2392 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Envoyer un e-mail depuis Panoramic avec Google Gmail Jeu 12 Oct 2023 - 18:52 | |
| Bonjour à tous ! Le code-source proposé permet d’envoyer un simple e-mail depuis Panoramic via la messagerie Gmail. Il est adaptable pour un autre type de messagerie. Cet article sera composé de deux chapitres : 1) Le programme Panoramic ; 2) La configuration de la messagerie Google Gmail. 1) LE PROGRAMME PANORAMICComposé d’une trentaine de lignes, il est dépouillé de toute interface graphique afin de pouvoir l’implémenter facilement dans votre programme. Cette version est configurée spécifiquement pour la messagerie Gmail. Avant de pourvoir envoyer un e-mail, vous devez renseigner les variables des lignes 7 à 11. - Ligne 7 : mail_from$ = votre adresse Gmail complète (Exemple : pierre.durand@gmail.com) ; - Ligne 8 : mot_de _passe$ = c’est un mot de passe spécial qui vous sera communiqué une fois pour toutes par Gmail lors de la configuration de la messagerie (voir chapitre 2). Il aura la forme de 4 groupes de 4 caractères séparés par un espace (exemple : "dkfj ddee olke lekd") ; - Ligne 9 : mail_to$ = adresse complète du destinataire (exemple : martin.jacques@free.fr) ; - Ligne 10 : objet$ = c’est l’objet de votre e-mail ; - Ligne 11 : message$ = c’est le corps de l’e-mail ; Le code, en pur Panoramic, repose sur l’écriture d’un script puis de son exécution en ligne de commande avec PowerShell. Il est normal de voir s’ouvrir furtivement la fenêtre de PowerShell à chaque envoi d’e-mail. - Code:
-
dim dossier$, fichier$, mail_from$, mot_de_passe$, mail_to$, objet$, message$, smpt_serveur$ ,smpt_port$
dossier$ = dir_current$ + "\"
dlist 1
mail_from$ = "xxxx.xxxxxxxxxxx@gmail.com" mot_de_passe$ = "xxxx xxxx xxxx xxxx" mail_to$ = "xxxx.xxxx@xxxxxx.xx" objet$ = "Tapez ici l'objet du mail" message$ = "Tapez ici le corps du mail"
smpt_serveur$ = "smtp.gmail.com" smpt_port$ = "587" fichier$ = "sendmail.ps1"
item_add 1,"$EmailFrom = " + chr$(34) + mail_from$ + chr$(34) item_add 1,"$EmailTo = " + chr$(34) + mail_to$ + chr$(34) item_add 1,"$Subject = " + chr$(34) + objet$ + chr$(34) item_add 1,"$Body = " + chr$(34) + message$ + chr$(34) item_add 1,"$SMTPServer = " + chr$(34) + smpt_serveur$ + chr$(34) item_add 1,"$SMTPClient = New-object Net.Mail.SmtpClient($SmtpServer, " + smpt_port$ + ")" item_add 1,"$SMTPClient.EnableSsl = $true" item_add 1,"$SMTPClient.Credentials = New-object System.Net.NetworkCredential(" + chr$(34) + mail_from$ + chr$(34) + ", " + chr$(34) + mot_de_passe$ + chr$(34) + ")" item_add 1,"$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)"
file_save 1,dossier$ + fichier$ execute_wait "PowerShell.exe | -ExecutionPolicy Unrestricted -windowstyle hidden -command " + chr$(34) + dossier$ + fichier$ + chr$(34)
end
2)LA CONFIGURATION DE LA MESSAGERIE GMAIL1) Connectez-vous à votre compte Gmail ; 2) Cliquez sur la photo de profil puis sur « Gérer votre compte Google » ; - Capture d'écran:
3) Cliquez sur « Sécurité ». Activez la validation en deux étapes si cela n’a pas été fait ; - Capture d'écran:
4) Après avoir activé la validation en deux étapes, toujours dans l’onglet « Sécurité », cliquez de nouveau sur « Validation en deux étapes » ; - Capture d'écran:
5) Descendez tout en bas de la page et cliquez sur « Mots de passe des applications » ; - Capture d'écran:
- Capture d'écran:
6) Entrez un nom dans le champ « App name » puis cliquez sur « Créer » : - Capture d'écran:
7) Copier le mot de passe fourni par Google qui aura cette forme « xxxx xxxx xxxx xxxx ». - Capture d'écran:
C’est ce mot de passe qu’il faudra renseigner dans le programme Panoramic. Ne pas oublier les espaces entre les quatre séries de quatre caractères ! Voilà, c’est fini ! Vous êtes prêt pour envoyer des e-mails via une application tierce, écrite en Panoramic j’espère !
Dernière édition par Marc le Ven 13 Oct 2023 - 16:17, édité 8 fois | |
|
| |
jjn4
Nombre de messages : 2704 Date d'inscription : 13/09/2009
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail Jeu 12 Oct 2023 - 19:30 | |
| Ah ben ça, justement ça m'intéresse !!! Je concocte un programme qui va faire quelque chose comme ça. Je m'y attelle demain !!! Super, Marc !!! | |
|
| |
Marc
Nombre de messages : 2392 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail Jeu 12 Oct 2023 - 23:47 | |
| Bonjour à tous ! L'article du premier post, qui était en cours de rédaction, est achevé ! - JJN4 a écrit:
- Je concocte un programme qui va faire quelque chose comme ça.
Super ! J'ai aussi un programme d'envoi d'e-mails en cours, cette fois-ci avec une interface utilisateur. Septembre était axé sur le sujet KGFGrid, GRID, Excel… Octobre sera le mois de la messagerie par e-mail ! De mon côté je ne serai pas très actif, je pars en déplacement jeudi prochain pour une, voire deux semaines. Je resterai à l’écoute du forum. Bonne programmation ! | |
|
| |
jjn4
Nombre de messages : 2704 Date d'inscription : 13/09/2009
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail Ven 13 Oct 2023 - 16:59 | |
| Je vais peut-être poser une question bête... Mais pourquoi ne pas utiliser la commande : mail_send ? Ca paraît quand même plus simple !?? J'ai d'ailleurs retrouvé un post datant de 2016 de JL35 avec Papydall https://panoramic.1fr1.net/t4674-commande-mail_send-resoluEt je m'en suis inspiré : - Code:
-
' Essais d'envoi d'emails dim ADR$ , OBJ$ , TXT$ , NL$
NL$="%0D%0A" ADR$="jjn4@gmail.com" OBJ$="Essai envoi email" TXT$="J'essaie d'envoyer des emails à partir d'un programme, que je fabrique, " TXT$=TXT$+NL$+"Est-ce que ça marche ?"
mail_send ADR$,OBJ$,TXT$ beep Par contre, et c'était sans doute trop simple, ça n'envoie pas l'email de façon complète, ça le met simplement dans le chapitre « Brouillon » et il faut appuyer sur « Envoyer>> » pour que ça parte. Ne peut-on générer cet appui sur « Envoyer>> » à partir de Panoramic, de façon à ce que ce soit envoyé de façon automatique ? | |
|
| |
Pedro
Nombre de messages : 1555 Date d'inscription : 19/01/2014
| Sujet: Envoi de mail. Ven 13 Oct 2023 - 17:17 | |
| Merci jjn4.
La commande mail_send fonctionne très bien avec l'interpréteur, mais pas avec le compilateur ! Avez-vous réalisé le test ? | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 11 Fév 2024 - 14:03 | |
| salut Marc Gmail a été modifié. Je ne retrouve pas la page pour le code xxxx xxxx xxxx xxxx | |
|
| |
Marc
Nombre de messages : 2392 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail Dim 11 Fév 2024 - 16:01 | |
| Bonjour Yannick,
Je n'ai pas vu de changement.
La validation en deux étapes est-elle bien activée ?
=> C'est dans la partie 2, paragraphe 3, du premier post dans ce fil de discussion. | |
|
| |
Marc
Nombre de messages : 2392 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail Dim 11 Fév 2024 - 17:53 | |
| ...Suite de mon précédent message... Dans un autre post, j'ai lu que tu parlais de "hotmail". Je n'ai pas d'adresse hotmail pour effectuer des tests. Donc sans garantie, essaie ce code après avoir complété les lignes 7,8,et 9 : - Code:
-
dim dossier$, fichier$, mail_from$, mot_de_passe$, mail_to$, objet$, message$, smpt_serveur$ ,smpt_port$
dossier$ = dir_current$ + "\"
dlist 1
mail_from$ = "xxxx.xxxxx@hotmail.fr" mot_de_passe$ = "xxxxxxxxxxxx" mail_to$ = "xxxx.xxxx@xxxxxx.xx" objet$ = "Tapez ici l'objet du mail" message$ = "Tapez ici le corps du mail"
smpt_serveur$ = "smtp.live.com" smpt_port$ = "587" fichier$ = "sendmail.ps1"
item_add 1,"$EmailFrom = " + chr$(34) + mail_from$ + chr$(34) item_add 1,"$EmailTo = " + chr$(34) + mail_to$ + chr$(34) item_add 1,"$Subject = " + chr$(34) + objet$ + chr$(34) item_add 1,"$Body = " + chr$(34) + message$ + chr$(34) item_add 1,"$SMTPServer = " + chr$(34) + smpt_serveur$ + chr$(34) item_add 1,"$SMTPClient = New-object Net.Mail.SmtpClient($SmtpServer, " + smpt_port$ + ")" item_add 1,"$SMTPClient.EnableSsl = $true" item_add 1,"$SMTPClient.Credentials = New-object System.Net.NetworkCredential(" + chr$(34) + mail_from$ + chr$(34) + ", " + chr$(34) + mot_de_passe$ + chr$(34) + ")" item_add 1,"$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)"
file_save 1,dossier$ + fichier$ execute_wait "PowerShell.exe | -ExecutionPolicy Unrestricted -windowstyle hidden -command " + chr$(34) + dossier$ + fichier$ + chr$(34)
end | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 11 Fév 2024 - 20:58 | |
| Salut Marc ! Pour les adresses mail, j'en ai 4. Une chez google du fait des androïds, une chez bouygues mon FAI, une à la laposte.net et une chez Bill avec mon compte microsoft. Je vais essayer ton code. Pour ce qui est de chez google, c'est la page d'activation de la double verif qui a changé. elle ne ressemble plus du tout à celle qui est plus haut dans ton post. | |
|
| |
Marc
Nombre de messages : 2392 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail Dim 11 Fév 2024 - 21:14 | |
| @Yannick - Citation :
- Pour ce qui est de chez google, c'est la page d'activation de la double verif qui a changé.
elle ne ressemble plus du tout à celle qui est plus haut dans ton post. Je n'ai pas mis de capture d'écran de la procédure pour réaliser la vérification en deux étapes. Il suffit de suivre les instructions de Google en cliquant sur "Validation en deux étapes", puis de répondre aux questions posées. | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 11 Fév 2024 - 21:35 | |
| @ Marc, J'ai testé ton code et... Toujours pas de mail. Je crois que je vais acheter des timbres | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 11 Fév 2024 - 21:52 | |
| @ Marc, J'ai essayé de faire exécuter le fichier script en ouvrant power_shell réponse de power_shell PS C:\WINDOWS\system32> executionpolicy unrestricted -windowstyle hidden -commandC:\Users\ygero\Programmes\EditeurDeCharte Get-ExecutionPolicy : Impossible de lier le paramètre «Scope». Impossible de convertir la valeur «unrestricted» en type «Microsoft.PowerShell.ExecutionPolicyScope». Erreur: «Impossible de faire correspondre le nom d'identificateur unrestricted à un nom d'énumérateur valide. Spécifiez l'un des noms d'énumérateur suivants et réessayez : Process, CurrentUser, LocalMachine, UserPolicy, MachinePolicy » Au caractère Ligne:1 : 17 + executionpolicy unrestricted -windowstyle hidden -commandC:\Users\yge ... + ~~~~~~~~~~~~ + CategoryInfo : InvalidArgument : ( [Get-ExecutionPolicy], ParameterBindingException + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.GetExecutionPolicyCommand | |
|
| |
Marc
Nombre de messages : 2392 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail Lun 12 Fév 2024 - 1:40 | |
| | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail Lun 12 Fév 2024 - 9:24 | |
| | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 13 Fév 2024 - 22:07 | |
| @ Marc
Je viens de trouver quelques minutes pour tester ton code d'envoie de mail et il fonctionne parfaitement. Le petit moins est l'apparition furtive de la fenêtre de PowerShell mais je ne désespère pas de trouver un moyen d' éviter cela.
Bonne soirée | |
|
| |
Contenu sponsorisé
| Sujet: Re: Envoyer un e-mail depuis Panoramic avec Google Gmail | |
| |
|
| |
| Envoyer un e-mail depuis Panoramic avec Google Gmail | |
|