Socket - gaierror

half.italian at gmail.com half.italian at gmail.com
Mon Aug 27 20:19:09 EDT 2007


On Aug 27, 4:22 pm, s... at signature.invalid (Douglas Wells) wrote:
> In article <1188244050.029920.314... at i13g2000prf.googlegroups.com>,
>
>
>
>  half.ital... at gmail.com writes:
> > On Aug 27, 12:32 pm, Larry Bates <larry.ba... at websafe.com> wrote:
>
> > Changing it to IP gives me the same exact error...
>
> >   File "bin/prgram.py", line 123, in notify
> >     smtp = smtplib.SMTP("XXX.XXX.XXX.XXX")
>
> >   File "/usr/lib/python2.4/smtplib.py", line 255, in __init__
> >     addr = socket.gethostbyname(socket.gethostname())
>
> > gaierror: (-2, 'Name or service not known')
>
> > Looks like the smtp port is closed on the client machine...doh Should
> > have gotten to that!
>
> > ~Sean
>
> Note that the lookup is of your *local* system name
> (socket.gethostname()).  I suspect that the name of your client
> system (the one running the python script) is not registered in
> DNS.
>
> Try ping'ing your own system and see if that resolves in DNS.  In
> UNIX/Linux you can use the hostname command; in any system you can
> write a python script to print the result of socket.gethostname().
>
>  - dmw
>
> --
> .   Douglas Wells             .  Connection Technologies      .
> .   Internet:  -sp9804- -at - contek.com-                     .

I found a solution...but still not sure why that happened.

root at 00:17:08:5E:EF:0F:/usr/local/sw/program/bin# hostname
00:17:08:5E:EF:0F
root at 00:17:08:5E:EF:0F:/usr/local/sw/program/bin# ping 00:17:08:5E:EF:
0F
ping: unknown host 00:17:08:5E:EF:0F

>>> socket.gethostname()
'00:17:08:5E:EF:0F'

Workaround: pass the 'local_hostname' arg to the smtplib.SMTP() call
with "localhost"

ie smtp.SMTP("some.computer", local_hostname="localhost")

This is just overriding the socket.gethostname() call entirely.

Did a bit of testing with the /etc/hosts file, and even with an entry
to the hostname it can't resolve the ip.
The problem is the name "00:17:08:5E:EF:0F"  PS.  I didn't choose to
set the hostname that way.

~Sean




More information about the Python-list mailing list