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

Discussion in 'Python' started by ashish makani, Sep 11, 2012.

  1. 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 = ['', '' ] # 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

    {
    >>> import smtplib
    >>> server = smtplib.SMTP('smtp.gmail.com:587')

    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)
     
    ashish makani, Sep 11, 2012
    #1
    1. Advertising

  2. Re: How to send email programmatically from a gmail email a/c whenport 587(smtp) is blocked

    On Tue, 11 Sep 2012 14:51:23 -0700 (PDT), ashish makani
    <> declaimed the following in
    gmane.comp.python.general:

    >
    > 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
    >

    <snip>
    >
    > 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.


    --
    Wulfraed Dennis Lee Bieber AF6VN
    HTTP://wlfraed.home.netcom.com/
     
    Dennis Lee Bieber, Sep 11, 2012
    #2
    1. Advertising

  3. Re: How to send email programmatically from a gmail email a/c whenport 587(smtp) is blocked

    On 11/09/2012 22:51, ashish makani wrote:
    > 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.
     
    Mark Lawrence, Sep 11, 2012
    #3
  4. ashish makani

    ashish Guest

    Re: How to send email programmatically from a gmail email a/c whenport 587(smtp) is blocked

    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

    On Wednesday, September 12, 2012 4:18:05 AM UTC+5:30, Mark Lawrence wrote:
    > On 11/09/2012 22:51, ashish makani wrote:
    >
    > > 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.
     
    ashish, Sep 19, 2012
    #4
  5. ashish makani

    ashish Guest

    Re: How to send email programmatically from a gmail email a/c whenport 587(smtp) is blocked

    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

    On Wednesday, September 12, 2012 4:18:05 AM UTC+5:30, Mark Lawrence wrote:
    > On 11/09/2012 22:51, ashish makani wrote:
    >
    > > 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.
     
    ashish, Sep 19, 2012
    #5
  6. Re: How to send email programmatically from a gmail email a/c whenport 587(smtp) is blocked

    On 19/09/2012 20:12, ashish wrote:
    > 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?

    --
    Cheers.

    Mark Lawrence.
     
    Mark Lawrence, Sep 20, 2012
    #6
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    15
    Views:
    155,965
    abhishek-technicalwork
    Jul 11, 2012
  2. ∂ √ ¡ ŋ ∂ ♪ ђ

    How to send an email with GMail in Python from Windows

    ∂ √ ¡ ŋ ∂ ♪ ђ, Mar 12, 2009, in forum: Python
    Replies:
    2
    Views:
    3,677
    gordyt
    Mar 12, 2009
  3. Gabriel Genellina

    Re: smtplib send email by using gmail smtp server

    Gabriel Genellina, May 3, 2009, in forum: Python
    Replies:
    0
    Views:
    452
    Gabriel Genellina
    May 3, 2009
  4. online
    Replies:
    0
    Views:
    886
    online
    Sep 6, 2009
  5. Junkone

    send email using gmail as smtp

    Junkone, Dec 20, 2007, in forum: Ruby
    Replies:
    3
    Views:
    287
    Junkone
    Dec 20, 2007
Loading...

Share This Page