Page 1 sur 1

Programmation Python

Posté : 23 juil. 2014 22:31
par jacques
Bonjour Greg
J'essaie d'aider un développeur de logiciel sous Python.
Il y a un éditeur d'email qui permet de transmettre certains documents du logiciel.
Pour cela il faut d’abord paramétrer l’adresse mail de l'expéditeur.
Dans le cas où l'adresse n'est pas compatible avec le PC où est installé le logiciel le mail ne part pas. Par exemple si on paramètre une adresse orange.fr et qu'on a SFR comme fournisseur d'accès (du moins c'est comme ça que je le comprends)
On souhaiterait que le logiciel présente une fenêtre qui avertirait du problème.
Si tu connais Python penses-tu que c'est possible ?
Par avance merci

Re: Programmation Python

Posté : 24 juil. 2014 01:20
par GregLand
Salut Jacques
Normalement a partir du moment ou tu indiques l'authentification du serveur smtp (login et mot de passe + sécurité employée SSL....), il n'y a pas de raison que le mail ne parte pas, même si l'opérateur n'est pas le même... C'est étrange comme problème... :dry:
ça voudrait dire que (si je reprends ton exemple) quand on est SFR en opérateur, on ne peut pas envoyer de mails a partir de sa boite Orange... :o

Mais si je reprends la base du problème, c'est d'afficher une boite de message.

Oui, c'est effectivement possible avec la librairie ctypes (sous windows)

Code : Tout sélectionner

import ctypes
ctypes.windll.user32.MessageBoxA(0, Le texte, Le titre, style)
Avec comme style possible un

Code : Tout sélectionner

##  0 : OK
##  1 : OK | Annuler
##  2 : Annuler | Ressayer | Ignorer
##  3 : Oui| Non | Annuler
##  4 : Oui | Non
##  5 : Ressayer | Non 
##  6 : Annuler| Réessayer | Continuer
Par exemple pour une boite de message Ok/Annuler c'est ça :

Code : Tout sélectionner

import ctypes
ctypes.windll.user32.MessageBoxA(0, "Your text", "Your title", 1)
Image

Pour juste une boite Ok

Code : Tout sélectionner

import ctypes
ctypes.windll.user32.MessageBoxA(0, "Your text", "Your title", 0)
Image

Re: Programmation Python

Posté : 24 juil. 2014 21:25
par jacques
GregLand a écrit :Salut Jacques
Normalement a partir du moment ou tu indiques l'authentification du serveur smtp (login et mot de passe + sécurité employée SSL....), il n'y a pas de raison que le mail ne parte pas, même si l'opérateur n'est pas le même... C'est étrange comme problème... :dry:
ça voudrait dire que (si je reprends ton exemple) quand on est SFR en opérateur, on ne peut pas envoyer de mails a partir de sa boite Orange... :o
Effectivement, j'ai paramétré une adresse d'expédition chez orange, port 465, sécurité SSL : oui et mot de passe. Ça marche très bien si je suis sur un PC avec Orange comme FAI
Mais chez moi FAI SFR et même paramétrage ça ne part pas.
4.jpg

Re: Programmation Python

Posté : 24 juil. 2014 21:33
par GregLand
Bizarre ton message de réponse n'indique pas un refus, mais plus le fait de ne pas trouver le serveur...
Je ne peux malheureusement pas tester car je suis chez orange...
Je ne peux que te donner un code générique qui pour moi a toujours fonctionné... mais jamais essayé sous tes conditions... :cry:

Code : Tout sélectionner

import smtplib

fromaddr = 'expediteur@mail.com'
toaddrs  = 'destinataire@mail.com'
msg = 'message a envoyer'


# Credentials (if needed)
username = 'expediteur@mail.com'
password = 'mot_de_passe'

# The actual mail send
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()

Re: Programmation Python

Posté : 24 juil. 2014 22:12
par jacques
J'ai changé le port en 587
Voici le message
5.jpg
5.jpg (22.78 Kio) Vu 9967 fois

Re: Programmation Python

Posté : 24 juil. 2014 22:15
par GregLand
C'est pour le smtp de Gmail.
Pour ton smtp vérifie que le smtp et le port sont les bons
http://assistance.orange.fr/configurati ... s-1222.php

Re: Programmation Python

Posté : 24 juil. 2014 22:23
par jacques
Gmail c'est 465 dans ce tableau.
Orange c'est 465, je l'avais justement pris sur cette page.
J'ai testé en simulant une création de compte dans Thunderbird et il me donne 587
6.jpg

Re: Programmation Python

Posté : 24 juil. 2014 22:56
par GregLand
Le 465 c'est pour le SSL activé et le 587 c'est sans SSL apparemment...

Re: Programmation Python

Posté : 24 juil. 2014 23:28
par jacques
Effectivement, j'ai mis SSL et ça donne 465

Mais bon les mails ne partent pas malgré tout...
7.jpg

Re: Programmation Python

Posté : 24 juil. 2014 23:50
par GregLand
Peux tu jeter un oeil (mais récupère le après quand même :sm_biggrin: ) sur cette page
http://assistance.sfr.fr/internet_box-n ... 2491-69602

Re: Programmation Python

Posté : 25 juil. 2014 09:34
par jacques
J'ai fait ça et pas de chance :cry:
Erreur.jpg

Re: Programmation Python

Posté : 25 juil. 2014 10:02
par GregLand
Effectivement c'est pas de chance car c'est LA solution........ :angry:

Re: Programmation Python

Posté : 25 juil. 2014 10:06
par jacques
Mais que fait la police ? :sm_upset:

Re: Programmation Python

Posté : 25 juil. 2014 10:10
par GregLand
C'est toujours la même question qui revient... :lol: