in trunk.... now

On Jul 27, 10:21 am, mattynoce <mattyn...@gmail.com> wrote:
> i did a slightly different fix in tools.py, starting on line 537:
>
>                 if attachments:
>                     result =
> mail.send_mail(sender=self.settings.sender, to=to,
>                                             subject=subject,
> body=text, html=html,
>                                             attachments=attachments)
>                 else:
>                     # fix starts here
>                     if html:
>                         result =
> mail.send_mail(sender=self.settings.sender, to=to,
>                                                 subject=subject,
> body=text, html=html)
>                     else:
>                         result =
> mail.send_mail(sender=self.settings.sender, to=to,
>                                                 subject=subject,
> body=text)
>
> massimo, can something like this be put into trunk? i was able to fix
> all of my own emails in code, but the one causing the error for me is
> the standard verification email which seems to have ceased to work for
> gae.
>
> thanks,
>
> matt
>
> On Jul 11, 11:58 am, MikeEllis <michael.f.el...@gmail.com> wrote:
>
> > Solved, or at least hacked well enough for the time being :-)
>
> > --enable_sendmail did the trick.  It needs to be entered in the app
> > launch
> > settings in the GAE Launcher:
>
> > * stop the app
> > * double-click app in listing
> > * enter --enable_sendmail in the Launcher settings "extra flags" field
> > * restart the app
>
> > Here's the blog post that put me on the right track:
>
> >http://blog.docuverse.com/2009/01/30/google-app-engine-launcher-options/
>
> > Cheers,
> > Mike
>
> > On Jul 11, 12:20 pm, MikeEllis <michael.f.el...@gmail.com> wrote:
>
> > > I just modified my tools.py as follows:
>
> > >             elif self.settings.server == 'gae':
> > >                 logging.warn("using gae mail server")
> > >                 from google.appengine.api import mail
> > >                 attachments = attachments and
> > > [(a.my_filename,a.my_payload) for a in attachments]
>
> > >                 ## gae mailer chokes on empty attachments or html
> > >                 extra = dict(html=html, attachments=attachments)
> > >                 for k in extra.keys():
> > >                     if not extra[k]: extra.pop(k)
>
> > >                 result = mail.send_mail(sender=self.settings.sender,
> > > to=to,
> > >                                         subject=subject, body=text,
> > > **extra)
> > >                 logging.warn("result of mail.send_mail() is
> > > %s"%repr(result))
>
> > > This fixed the exceptions associated with empty attachments and html,
> > > but no mail is being sent when testing under GAE Launcher, apparently
> > > because something else needs to be done to enable it.  Here's what's
> > > showing up in the console log:
>
> > > WARNING  2010-07-11 15:57:04,413 tools.py:535] using gae mail server
> > > INFO     2010-07-11 15:57:04,416 mail_stub.py:84] MailService.Send
> > > INFO     2010-07-11 15:57:04,416 mail_stub.py:85]   From:
> > > myaddr...@gmail.com
> > > INFO     2010-07-11 15:57:04,416 mail_stub.py:88]   To:
> > > myaddr...@gmail.com
> > > INFO     2010-07-11 15:57:04,416 mail_stub.py:97]   Subject:Email
> > > verification
> > > INFO     2010-07-11 15:57:04,416 mail_stub.py:100]   Body:
> > > INFO     2010-07-11 15:57:04,416 mail_stub.py:101]     Content-type:
> > > text/plain
> > > INFO     2010-07-11 15:57:04,416 mail_stub.py:102]     Data length:
> > > 132
> > > INFO     2010-07-11 15:57:04,417 mail_stub.py:207] You are not
> > > currently sending out realemail.  If you have sendmail installed you
> > > can use it by using the server with --enable_sendmail
> > > WARNING  2010-07-11 15:57:04,417 tools.py:545] result of
> > > mail.send_mail() is None
>
> > > Since it's the gae server, I'm not sure if the bit about --
> > > enable_sendmail is relevant, but clearly something is not set up
> > > correctly.  Any ideas?
>
> > > I'm running GAE SDK 1.3.5 and  web2py 1.92 on OS X 10.6.4
>
> > > BTW, I'm wondering if the default registration page should be amended
> > > to allow retrying theemailnotification when attempting to register
> > > an unverified address that's already in the db. Having to use the
> > > admin interface to delete the address each time while debugging mail
> > > settings is time-consuming.
>
> > > Thanks,
> > > Mike
>
> > > On Jun 19, 11:12 am, Larry <ziz...@gmail.com> wrote:
>
> > > > Peter,
>
> > > > This code looks good to me. I will adopt the same for now.
>
> > > > Larry
>
> > > > On Jun 19, 12:37 am, pecos1046 <pecos1...@gmail.com> wrote:
>
> > > > > Hi Larry:
>
> > > > > Looking at your suggestion, I made a code change in tools.py and mail
> > > > > with gae works well. Here my patch - so far so good, I wonder when it
> > > > > will backfire.
>
> > > > >           elif self.settings.server == 'gae':
> > > > >                 from google.appengine.api import mail
> > > > >                 attachments = attachments and
> > > > > [(a.my_filename,a.my_payload) for a in attachments]
>
> > > > >                 if attachments and html:
> > > > >                     result =
> > > > > mail.send_mail(sender=self.settings.sender, to=to,
> > > > >                                         subject=subject, body=text,
> > > > > html=html,
> > > > >                                         attachments=attachments)
>
> > > > >                 elif html:
> > > > >                     result =
> > > > > mail.send_mail(sender=self.settings.sender, to=to,
> > > > >                                         subject=subject, body=text,
> > > > > html=html)
>
> > > > >                 elif attachments:
> > > > >                     result =
> > > > > mail.send_mail(sender=self.settings.sender, to=to,
> > > > >                                         subject=subject, body=text,
> > > > > attachments=attachments)
>
> > > > >                 else:
> > > > >                     result =
> > > > > mail.send_mail(sender=self.settings.sender, to=to,
> > > > >                                         subject=subject, body=text)
>
> > > > > Thanks again
>
> > > > > Peter
>
> > > > > On Jun 17, 5:16 am, Larry <ziz...@gmail.com> wrote:
>
> > > > > > I was also getting thiserroron my first go at sending mail using
> > > > > > gae.
>
> > > > > > I looked at the code in gluon/tools.py for sending gae mail :
>
> > > > > >   elif self.settings.server == 'gae':
> > > > > >     from google.appengine.api import mail
> > > > > >     attachments = attachments and [(a.my_filename,a.my_payload) for 
> > > > > > a
> > > > > > in attachments]
> > > > > >     result = mail.send_mail(sender=self.settings.sender, to=to,
> > > > > >                             subject=subject, body=text, html=html,
> > > > > >                             attachments=attachments)
>
> > > > > > and retried after removing the attachments=attachments from the
> > > > > > send_mail and it worked if Isendboth text and html versions of the
> > > > > > message.
>
> > > > > > I assume gae does not like the attachments value being None.
>
> > > > > > Larry
>
> > > > > > On Jun 11, 9:25 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > > > > if you use server='gae' you should use login=None
> > > > > > > Not sure if this is the problem anyway. Do you get anyerror?
>
> > > > > > > On 11 Giu, 10:12, pecos1046 <pecos1...@gmail.com> wrote:
>
> > > > > > > > I use theemailverification option for new user registration. It
> > > > > > > > works fine in test mode on the google-appengine sdk. However 
> > > > > > > > when I
> > > > > > > > upload the application to Google and change the smtp server to 
> > > > > > > > "gae"
> > > > > > > > it isunabletosendthe verificationemail. The GoogleGAElog show
> > > > > > > > the following warning message:
>
> > > > > > > >Mail.sendfailure:May not set empty value for 'attachments'
>
> > > > > > > > Here are my settings:
>
> > > > > > > >mail=Mail( )
> > > > > > > >mail.settings.server='gae'    # your SMTP server
> > > > > > > >mail.settings.sender='....@gmail.com'
> > > > > > > >mail.settings.tls = True
> > > > > > > >mail.settings.login='....@gmail.com:password'
> > > > > > > > auth.settings.mailer=mail
>
> > > > > > > > I appreciate any help and suggestions.
>
> > > > > > > > Peter

Reply via email to