How to send email programmatically from a gmail email a/c when port587(smtp) is blocked

A

ashish makani

Hi c.l.p peeps

I am stuck with an issue, so am coming to the Pythonista deltaforce who rescue me everytime :)

I am trying to send out email programmatically, from a gmail a/c, using smtplib, using the following chunk of code (b/w [ & ] below)

[

import smtplib
from email.mime.text import MIMEText

#uname, pwd are username & password of gmail a/c i am trying to send from

server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls() # get response(220, '2.0.0 Ready to start TLS')
server.login(uname,pwd) # get response(235, '2.7.0 Accepted')

toaddrs = ['(e-mail address removed)', '(e-mail address removed)' ] # list of To email addresses
msg = MIMEText('email body')
msg['Subject'] = 'email subject'
server.sendmail(fromaddr, toaddrs, msg.as_string())


]

The code above works perfectly fine on my local machine, but fails on the production server at the university where i work( all ports other than port 80 are blocked) :(

So , when i try to run the 2 py statements (in bold below) on a python prompt from the production server, which has port 587 blocked, i get the following error

{Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/smtplib.py", line 239, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.6/smtplib.py", line 295, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python2.6/smtplib.py", line 273, in _get_socket
return socket.create_connection((port, host), timeout)
File "/usr/lib/python2.6/socket.py", line 514, in create_connection
raise error, msg
socket.error: [Errno 101] Network is unreachable

}


1. How can i overcome this ?
A friend suggested , that i could use something called smtp relay, which would solve my problem, but would be time-consuming & a pain to set up.
I did some cursory googling & searching on stackoverflow but could not findany good, well explained results.
I dont know anything about SMTP.
Anybody has any recommendations on a good explanation on smtp relay & how to set it up for sending email from a gmail a/c using a python script ?

2. Also, is there a more elegant/cleaner/graceful solution to my problem than using an smtp relay ?

Any & all explanations/links/code snippets/thoughts/ideas/suggestions/feedback/comments/wisdom of the c.l.p community would be greatly appreciated.

Thanks a ton

cheers
ashish

email :
ashish.makani
domain:gmail.com

p.s. some more context so people dont presume we are spammers :)

These emails are automated diagnostic emails sent to a group of a few of usadmins, so we get notified when a python heartbeat script, detects a failure in things like n/w connectivity, router status, etc.
All of us dont use university email, we use gmail .


“The only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it.” - Steve Jobs (1955 - 2011)
 
D

Dennis Lee Bieber

The code above works perfectly fine on my local machine, but fails on the production server at the university where i work( all ports other than port 80 are blocked) :(

So , when i try to run the 2 py statements (in bold below) on a python prompt from the production server, which has port 587 blocked, i get the following error
1. How can i overcome this ?
A friend suggested , that i could use something called smtp relay, which would solve my problem, but would be time-consuming & a pain to set up.

Which is correct... And is nothing YOU will set up (if you had the
privileges to create an SMTP daemon, you'd have the privileges to use a
blocked port).

Just replace the SMTP server, username, and password with the
relevant information for your university system. It shouldn't matter
that the email identifies to recipients with a Google email ID -- all
you change is the /server/ that sends the email to the world.
 
M

Mark Lawrence

Hi c.l.p peeps

I am stuck with an issue, so am coming to the Pythonista deltaforce who rescue me everytime :)

[big snip]

I say old chap, it's simply not cricket to ask a question like this some
32 minutes after asking the same question on the tutor mailing list.
 
A

ashish

Folks,

I asked the same query on the python tutor mailing list.
The responses i received are here :
http://thread.gmane.org/gmane.comp.python.tutor/77601


Mark,

There is nothing wrong in asking a query on multiple forums.

Poeple on the tutor list, may not be part of comp.lang.python & subscribers to comp.lang.python

Hi c.l.p peeps

I am stuck with an issue, so am coming to the Pythonista deltaforce who rescue me everytime :)



[big snip]



I say old chap, it's simply not cricket to ask a question like this some

32 minutes after asking the same question on the tutor mailing list.



--

Cheers.



Mark Lawrence.
 
A

ashish

Folks,

I asked the same query on the python tutor mailing list.
The responses i received are here :
http://thread.gmane.org/gmane.comp.python.tutor/77601


Mark,

There is nothing wrong in asking a query on multiple forums.

Poeple on the tutor list, may not be part of comp.lang.python & subscribers to comp.lang.python

Hi c.l.p peeps

I am stuck with an issue, so am coming to the Pythonista deltaforce who rescue me everytime :)



[big snip]



I say old chap, it's simply not cricket to ask a question like this some

32 minutes after asking the same question on the tutor mailing list.



--

Cheers.



Mark Lawrence.
 
M

Mark Lawrence

Folks,

I asked the same query on the python tutor mailing list.
The responses i received are here :
http://thread.gmane.org/gmane.comp.python.tutor/77601


Mark,

There is nothing wrong in asking a query on multiple forums.

Poeple on the tutor list, may not be part of comp.lang.python & subscribers to comp.lang.python

And you've done exactly the same thing with another question. So there
are two sets of answers on two mls/ngs that are completely unconnected
except that I amongst others know that they exist. If you had to ask on
both, why not post to both in one hit?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,710
Latest member
bernietqt

Latest Threads

Top