A voir également:
- Emvoi de mails - Python
- Citizen code python avis - Accueil - Outils
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Mot secret python pix ✓ - Forum Python
- Serveur de reception mail - Guide
- Supprimer tous les mails d'un expediteur gmail - Guide
15 réponses
Salut,
Comment veux tu l'envoyer? J'ai un truc qui le fait en passant par outlook mais ça ne marche que si tu utilises outlook (pro) sans doute...
Comment veux tu l'envoyer? J'ai un truc qui le fait en passant par outlook mais ça ne marche que si tu utilises outlook (pro) sans doute...
Exchange ne possède pas des interfaces COM ?
Sinon tu pourrais très bien le piloter en appellant du COM avec Python.
Sinon tu pourrais très bien le piloter en appellant du COM avec Python.
C'est pas moi qui ai posé la question, bon je donne mon script au cas où...
# coding=iso-8859-1 import sys import win32com.client import datetime PERSONAL_ADRESS = "adresse@mail.com" CATEGORY = "Home" TITLE = "TODO List on : " + str(datetime.date.today()) ##def send(): ## olMailItem = 0x0 ## obj = win32com.client.Dispatch("Outlook.Application") ## newMail = obj.CreateItem(olMailItem) ## newMail.Subject = 'A subject line' ## newMail.Body = 'Body, wonderful body' ## newMail.To = 'somebody at example.com' ## newMail.Display() def sendMail(text): oOutlook = win32com.client.gencache.EnsureDispatch("Outlook.Application") Msg = oOutlook.CreateItem(0) Msg.To = PERSONAL_ADRESS Msg.Subject = TITLE Msg.Body = text #Msg.Display() Msg.Send() def getTasks(): oOutlook = win32com.client.gencache.EnsureDispatch("Outlook.Application") onMAPI = oOutlook.GetNamespace("MAPI") ofTasks = onMAPI.GetDefaultFolder(13) # 13=outlook tasks folder redemption = oOutlook.CreateObject('Redemption.SafeTaskItem') result = '' for i in range(len(ofTasks.Items)): redemption.Item = ofTasks.Items.Item(i+1) if CATEGORY.lower() in redemption.Item.Categories.lower(): result = result + '\t- ' + redemption.Item.Subject + '(' + redemption.Item.Categories +'(\n\n' return result try: sendMail(getTasks()) except: r= raw_input("Sorry, an error occured")
Merci a tous d'avoir repondu a mon post.
Il s'agit d'un envoi texte de mail, tout ce qu'il y a de plus simple. Le serveur est distant. J'aimerais avoir un code independant du client de messagerie, une correction au code suivant:
import smtplib
from email.mime.text import MIMEText
def sendTextMail(mfrom,mto,text,sujet):
mail = MIMEText(text)
mail['From'] = mfrom
mail['Subject'] = sujet
mail['To'] = mto
smtp = smtplib.SMTP('smtp.powweb.com', '25', 'localhost')
smtp.connect()
smtp.login('test@trucmuche.com', 'motdepasse')
smtp.sendmail(mfrom, mto, mail.as_string())
smtp.close()
if __name__ == "__main__" :
sendTextMail('test@trucmuche.com','test@machine.fr', 'test', 'test')
Le code source de python.org recommande par killian ne me permet pas de comprendre.
Merci.
Il s'agit d'un envoi texte de mail, tout ce qu'il y a de plus simple. Le serveur est distant. J'aimerais avoir un code independant du client de messagerie, une correction au code suivant:
import smtplib
from email.mime.text import MIMEText
def sendTextMail(mfrom,mto,text,sujet):
mail = MIMEText(text)
mail['From'] = mfrom
mail['Subject'] = sujet
mail['To'] = mto
smtp = smtplib.SMTP('smtp.powweb.com', '25', 'localhost')
smtp.connect()
smtp.login('test@trucmuche.com', 'motdepasse')
smtp.sendmail(mfrom, mto, mail.as_string())
smtp.close()
if __name__ == "__main__" :
sendTextMail('test@trucmuche.com','test@machine.fr', 'test', 'test')
Le code source de python.org recommande par killian ne me permet pas de comprendre.
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Comme je l'ai dit plus haut
Il s'agit d'un envoi de mail texte, tout ce qu'il y a de plus simple. Le serveur est distant. J'aimerais avoir un code independant du client de messagerie, une correction au code suivant:
Le code source de python.org recommande par killian ne me permet pas de comprendre.
Merci d'avance.
Il s'agit d'un envoi de mail texte, tout ce qu'il y a de plus simple. Le serveur est distant. J'aimerais avoir un code independant du client de messagerie, une correction au code suivant:
import smtplib from email.mime.text import MIMEText def sendTextMail(mfrom,mto,text,sujet): mail = MIMEText(text) mail['From'] = mfrom mail['Subject'] = sujet mail['To'] = mto smtp = smtplib.SMTP('smtp.powweb.com', '25', 'localhost') smtp.connect() smtp.login('test@trucmuche.com', 'motdepasse') smtp.sendmail(mfrom, mto, mail.as_string()) smtp.close() if __name__ == "__main__" : sendTextMail('test@trucmuche.com','test@machine.fr', 'test', 'test')
Le code source de python.org recommande par killian ne me permet pas de comprendre.
Merci d'avance.
Heu...non je pense que j'ai juste fait une mauvaise copie. Je recommence:
J'ai le message d'erreur suivant:
Traceback (most recent call last):
File "sendTextMail.py", line 19, in (module)
sendTextMail('test@.trucmuche.com','retest@machine.fr', 'test', 'test')
File "sendTextMail.py", line 12, in (module)
smtp = smtplib.SMTP('smtp.trucmuche.com', '465', 'localhost')
File "C:\Python25\lib\smtplib.py", line 244, in __init__
(code,msg) = self.connect(host, port)
File "C:\Python25\lib\smtplib.py", line 311, in connect
(code,msg) = self.getreply()
File "C:\Python25\lib\smtplib.py", line 352, in getreply
line = self.file.readline()
File "C:\Python25\lib\smtplib.py", line 346, in readline
data = self._sock.recv(self.rbufsize)
socket.error(10054,'Connection reset by peer')
import smtplib from email.mime.text import MIMEText def sendTextMail(mfrom,mto,text,sujet): mail = MIMEText(text) mail['From'] = mfrom mail['Subject'] = sujet mail['To'] = mto smtp = smtplib.SMTP('smtp.trucmuche.com', '645', 'localhost') smtp.connect() smtp.login('test@trucmuche.com', 'motdepasse') smtp.sendmail(mfrom, mto, mail.as_string()) smtp.close() if __name__ == "__main__" : sendTextMail('test@trucmuche.com','test@machine.fr', 'test', 'test')
J'ai le message d'erreur suivant:
Traceback (most recent call last):
File "sendTextMail.py", line 19, in (module)
sendTextMail('test@.trucmuche.com','retest@machine.fr', 'test', 'test')
File "sendTextMail.py", line 12, in (module)
smtp = smtplib.SMTP('smtp.trucmuche.com', '465', 'localhost')
File "C:\Python25\lib\smtplib.py", line 244, in __init__
(code,msg) = self.connect(host, port)
File "C:\Python25\lib\smtplib.py", line 311, in connect
(code,msg) = self.getreply()
File "C:\Python25\lib\smtplib.py", line 352, in getreply
line = self.file.readline()
File "C:\Python25\lib\smtplib.py", line 346, in readline
data = self._sock.recv(self.rbufsize)
socket.error(10054,'Connection reset by peer')
Merci.
Mais est-ce que c'est tout? Y a aussi le
Traceback (most recent call last):
File "sendTextMail.py", line 19, in (module)
sendTextMail('test@.trucmuche.com','retest@machine.fr', 'test', 'test')
File "sendTextMail.py", line 12, in (module)
ca signifie quoi?
Et quelles sont les raisons pour lesquelles j'ai ete jetee?
Mais est-ce que c'est tout? Y a aussi le
Traceback (most recent call last):
File "sendTextMail.py", line 19, in (module)
sendTextMail('test@.trucmuche.com','retest@machine.fr', 'test', 'test')
File "sendTextMail.py", line 12, in (module)
ca signifie quoi?
Et quelles sont les raisons pour lesquelles j'ai ete jetee?
Le traceback t'indique où ça a planté.
Dans ton source sendTextMail.py, c'est à la ligne 12:
Donc à la connexion.
Donc soit le serveur n'existe pas, soit le chemin réseau est bloqué (firewall ?), soit le serveur te refuse la connexion.
Dans ton source sendTextMail.py, c'est à la ligne 12:
File "sendTextMail.py", line 12, in (module) smtp = smtplib.SMTP('smtp.trucmuche.com', '465', 'localhost')
Donc à la connexion.
Donc soit le serveur n'existe pas, soit le chemin réseau est bloqué (firewall ?), soit le serveur te refuse la connexion.
oui. merci.
mais ma derniere question concerne plus les reseaux. comment je passe un serveur en parametre?
smtp.serveur.com par exemple? ou l'@ ip? pour l'argument 'host'.
P.s.:je ne suis pas tres "reseaux", pardon pour la betise.
mais ma derniere question concerne plus les reseaux. comment je passe un serveur en parametre?
smtp.serveur.com par exemple? ou l'@ ip? pour l'argument 'host'.
P.s.:je ne suis pas tres "reseaux", pardon pour la betise.
Avant de te connecter sur le serveur, tu t'es assuré qu'il existe ?
Tu arrive à le pinguer ?
Tu es certain qu'il y a un serveur SMTP en écoute sur ce port ?
(465 c'est assez curieux pour du SMTP ; habituellement c'est port 25)
Tu arrive à le pinguer ?
Tu es certain qu'il y a un serveur SMTP en écoute sur ce port ?
(465 c'est assez curieux pour du SMTP ; habituellement c'est port 25)
oui, j'ai fait un ping sur le serveur. Il existe.
J'ai d'abord essaye avec le port 25; y a eu le meme bug, puis, j'ai change de port (en me disant que peut etre que c'est pas le port par defaut 25 qui a ete utilise)
Comment je fais pour savoir quel port est reellement utilise?
J'ai d'abord essaye avec le port 25; y a eu le meme bug, puis, j'ai change de port (en me disant que peut etre que c'est pas le port par defaut 25 qui a ete utilise)
Comment je fais pour savoir quel port est reellement utilise?
Comment je fais pour savoir quel port est reellement utilise?
ben il faut demander à la personne qui administre le serveur de mail.
ben il faut demander à la personne qui administre le serveur de mail.
Il existe en tant que nom de domaine, après est ce qu'il existe physiquement c'est autre chose...
Et un ping n'est pas forcément fiable pour en témoigner.
C:\>ping smtp.powweb.com Envoi d'une requête 'ping' sur smtp.powweb.com [65.254.250.100] avec 32 octets d e données : Délai d'attente de la demande dépassé. Délai d'attente de la demande dépassé. Délai d'attente de la demande dépassé. Délai d'attente de la demande dépassé. Statistiques Ping pour 65.254.250.100: Paquets : envoyés = 4, reçus = 0, perdus = 4 (perte 100%),
Et un ping n'est pas forcément fiable pour en témoigner.
http://www.python.org/doc/lib/SMTP-example.html
C'est pire que ce que je pensais....