Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Tue 18 August 2020 12:04
- fanou
- Participant occasionnel
- Date d'inscription: 26 Jul 2019
- Messages: 32
QGIS: Envoie e-mail
Bonjour,
Je souhaiterai envoyer un e-mail automatiquement lorsqu'un nouveau polygone est crée dans une table bien précise.
Je suppose qu'il faut passer par du code python, mais je ne vois pas bien comment faire et surtout ou mettre le code.
J'avais trouver ça sur le net :
https://www.quennec.fr/trucs-astuces/la … simplement
Pouvez-vous éclairer ma lanterne?
Merci, Stéphane
Hors ligne
#2 Tue 18 August 2020 13:28
- Thom25
- Participant occasionnel
- Date d'inscription: 16 Sep 2013
- Messages: 31
Re: QGIS: Envoie e-mail
Bonjour,
Je ne sais pas si ça peut t'aider, mais as tu regardé du coté des "Actions" dans QGIS. C'est onglet dans les propriétés de la couche qui permet de réaliser des actions lorsque tu manipules cette dernière.
Hors ligne
#3 Tue 18 August 2020 15:38
Re: QGIS: Envoie e-mail
Bonjour,
Soit une couche avec le champ EMAIL
Assez simplement, créer une action et mettre l'expression :
Code:
mailto:[% "EMAIL" %]
A priori, vous pourriez même enrichir le mail avec un sujet préformaté comme suit :
Code:
mailto:[% "EMAIL" %]?subject=[%OBJET_EMAIL%]&body=[%BODY%]
Ca peut être utile, par exemple de créer un champ virtuel OBJET_EMAIL ayant en valeur :
Code:
'Contact au sujet de l'objet '||"lib"||' et de n°'||"id"
geodata au cerema et petits billets en géomatique
Hors ligne
#4 Tue 18 August 2020 15:56
- fanou
- Participant occasionnel
- Date d'inscription: 26 Jul 2019
- Messages: 32
Re: QGIS: Envoie e-mail
Bonjour,
Soit une couche avec le champ EMAIL
Assez simplement, créer une action et mettre l'expression :Code:
mailto:[% "EMAIL" %]A priori, vous pourriez même enrichir le mail avec un sujet préformaté comme suit :
Code:
mailto:[% "EMAIL" %]?subject=[%OBJET_EMAIL%]&body=[%BODY%]Ca peut être utile, par exemple de créer un champ virtuel OBJET_EMAIL ayant en valeur :
Code:
'Contact au sujet de l'objet '||"lib"||' et de n°'||"id"
Merci, je vois bien le principe, mais comment l'envoyer automatiquement à chaque ajout de polygone, sans que l'utilisateur clique sur Action?
Stéphane
Dernière modification par fanou (Tue 18 August 2020 16:17)
Hors ligne
#5 Wed 19 August 2020 16:41
Re: QGIS: Envoie e-mail
Bonjour,
Pour lancer une fonction à la création d'une entité, voir ce script :
Code:
from PyQt5.QtGui import * def logLayerModified( onlyGeometry = None ): QgsMessageLog.logMessage( "layer modified" ) QApplication.beep() def logFeatureAdded(fid): QgsMessageLog.logMessage( "feature added, id = " + str(fid) ) print("send email") QApplication.beep() def logEditingStarted(): QgsMessageLog.logMessage( "editing started" ) QApplication.beep() def logCommittedFeaturesAdded( layerId, addedFeatures ): message = layerId + " has features added: " for feature in addedFeatures: message += str( feature.id() ) + ", " QgsMessageLog.logMessage( message ) QApplication.beep() layer = QgsProject.instance().mapLayersByName('polygones')[0] layer.layerModified.connect( logLayerModified ) layer.featureAdded.connect( logFeatureAdded ) layer.editingStarted.connect( logEditingStarted ) layer.committedFeaturesAdded.connect( logCommittedFeaturesAdded )
tiré de https://gis.stackexchange.com/questions … ore-commit
Dans votre cas, ne retenez que logFeatureAdded dans laquelle vous pourriez mettre la fonction d'envoi d'e-mail
geodata au cerema et petits billets en géomatique
Hors ligne