you can't expect something in "..//static/python/the_mailer.py" to be 
magically executed just POSTing to that path...

use a proper function in a proper controller...

On Monday, March 2, 2015 at 7:24:30 AM UTC+1, John Costantino wrote:
>
> Hey so I have a mail script written in python which works fine when I run 
> it from a linux terminal. My issue is I need to make an ajax call passing 
> in parameters from a custom form I created. In the Javascript it calls the 
> script but the mail never sends. I am stumped I have been trying to get the 
> ajax to work for days now with no luck. I am currently running the web2py 
> application on localhost:8000. Below I will post the code in question.
>
> *HTML Code*
>        <div class="title"><p>Contact Us</p></div>
>        <div class="form-piece">
>            <form enctype="multipart/form-data">
>                <input required class="in-txt" id="name" name="name" 
> placeholder="Your Name" type="text" value=""/><br>
>                <input required class="in-txt" id="email" name="email" 
> placeholder="Your Email" type="email" value=""/><br>
>                <textarea required class="last in-area" id="message" 
> cols="40" name="message" placeholder="Write your message here." rows="10" 
> type="text"></textarea><br>
>                <div class="error-message-container"><p 
> class="error-message" id="contact-message"></p></div>
>                <input class="button mail" id="send-contact" type="button" 
> value=""/>
>            </form>
>        </div><!--.form-piece-->
>
> *JS Code (This is fired via a call to onclick of the (#send-contact) 
> button above)*
>    function sendContactEmail()
>     {
>         var name = $('#name').val();
>         var email = $('#email').val();
>         var message = $('#message').val();
> //Variables are not currently used but will be passed once the cgi works 
> properly...
>
> $.ajax({
>         type: "POST",
> url: "../static/python/the_mailer.py"
> });
>     }
>
> *Python Code (This works if using the linux terminal (Comman: python 
> the_mailer.py) but not via ajax)*
> import smtplib, socket, sys, getpass
>
> def main():
> print
>
> try:
> smtpserver = smtplib.SMTP('smtp.gmail.com', 587)
> smtpserver.ehlo()
> smtpserver.starttls()
> smtpserver.ehlo()
> print 'Connection to Gmail Succesfully'
> print 'Connected to Gmail \n' 
> try:
> gmail_user = "[email protected] <javascript:>"
> gmail_pwd = "my pasword"
> smtpserver.login(gmail_user,gmail_pwd)
> except smtplib.SMTPException:
> print 'Authentication failed \n'
> smtpserver.close()
> getpass.getpass('Press ENTER to continue...')
> sys.exit(1)
>
> except (socket.gaierror, socket.error, socket.herror, 
> smtplib.SMTPException), e:
> print 
> print 'Connection to Gmail failed'
> print e
> getpass.getpass('Press ENTER to continue...')
> sys.exit(1)
> while True:
> to = "[email protected] <javascript:>"
> if to != '': break
> else: print 'this field is required'
>
> sub = "Testing The Email Feature"
> bodymsg = "This is an automated test from Application"
> print 
> header = 'To:'+to+'\n'+'From:'+gmail_user+'\n'+'Subject:'+sub+'\n'
> print header
> msg = header+'\n'+bodymsg+'\n\n' 
>
> try:
> smtpserver.sendmail(gmail_user,to,msg)
> except smtplib.SMTPException:
> print 'Email could not be sent \n'
> smtpserver.close()
> getpass.getpass('Press ENTER to continue...')
> sys.exit(1)
>
> print 'Email Sent Sucessfully! \n'
> smtpserver.close()
> sys.exit(1)
>
> print '\n'
> # raw_input('pause program')
>
> main()
>
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to