2010-06-30 4 views
2

import smtplibdans la connexion à un serveur smtp avec python

SERVEUR = "my.smtp.server.com"

DE = "[email protected]" TO = [ "someemail @ somehost .mun.ca "] # doit être une liste

SUBJECT =" Bonjour! "

TEXT = "bonjour"

Voici mon code:

# Prepare actual message 

message = """\ 
From: %s 
To: %s 
Subject: %s 

%s 
""" % (FROM, ", ".join(TO), SUBJECT, TEXT) 

# Send the mail 

server = smtplib.SMTP(SERVER) 
server.login('loginname','password') 

et ceci est l'erreur que je reçois:

Traceback (most recent call last): 
File "C:\Documents and Settings\Desktop\New Text Document.py", line 24, in ? 
server = smtplib.SMTP(SERVER) 
    File "C:\Python24\lib\smtplib.py", line 241, in __init__ 
    (code, msg) = self.connect(host, port) 
    File "C:\Python24\lib\smtplib.py", line 289, in connect 
    for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM): 
gaierror: (11001, 'getaddrinfo failed') 

ce que dois-je faire?

+0

Est-ce un travail 'hôte my.smtp.server.com'? – Joril

Répondre

0

Il n'y a pas ip pour my.smtp.server.com dans votre dns ou /etc/hosts?

->DNS Wikipedia

est my.smtp.server.com un serveur réel (smtp-)?

avez-vous essayé un telnet au port 25 de my.smtp.server.com?

problèmes de pare-feu?

si vous avez besoin d'un serveur de test ->lamson

+0

my.smtp.server.com était juste un endroit réservé. de toute façon c'était juste une simple faute de frappe ... comme c'est la cause de beaucoup d'erreurs de script. Merci pour l'aide – Richard

0

Peut-être que votre dns ne fonctionne pas. Peut-être my.smtp.server.com est un espace réservé, le cas échéant remplacer le nom du serveur de messagerie réel il

0

Vérifiez d'abord en réglant le niveau de débogage sur true, server = smtplib.SMTP (smtp_server, SMTP_PORT) server.set_debuglevel (1)

Vérifiez si le serveur utilise un protocole SSL ou TLS, pour SSL avec SMTP, vous devrez appeler cette fonction, (si vous utilisez SES, c'est la fonction que vous devriez appellerez) server = smtplib.SMTP_SSL (SMTP_SERVER, SMTP_PORT)

Si le serveur SMTP utilise tls, starttls avec la fonction ci-dessous server = smtplib.SMTP (smtp_server, SMTP_PORT) server.ehlo() server.starttls()

Questions connexes