[Grok-dev] sending emails by grok
Sebastian Ware
sebastian at urbantalk.se
Thu Jul 23 08:39:42 EDT 2009
Thanks, now it works!
I wish I could register using grok.GlobalUtility though.
Mvh Sebastian
23 jul 2009 kl. 13.58 skrev Jens Adner:
> Mmmmh, I found a configure.zcml in my app-folder where the app.py
> lives
> just after create a new grokproject.
>
> Best regards
> Jens
>
> Sebastian Ware schrieb:
>> Is this the same as site.zcml in a zopectl configuration? I can't
>> find a
>> configure.zcml except in parts/i18n.
>>
>> Mvh Sebastian
>>
>> 15 jul 2009 kl. 15.35 skrev Jens Adner:
>>
>>> huuuh, it works. great!
>>>
>>> I put the utility stuff in configure.zcml:
>>>
>>> -----------------------------------------------
>>> <configure xmlns="http://namespaces.zope.org/zope"
>>> xmlns:grok="http://namespaces.zope.org/grok"
>>> xmlns:mail="http://namespaces.zope.org/mail"
>>>>
>>> <include package="grok" />
>>> <includeDependencies package="." />
>>> <grok:grok package="." />
>>>
>>>
>>> <mail:smtpMailer
>>> name="my-app.smtp"
>>> hostname="smtp.fh-schmalkalden.de"
>>> port="25"
>>> />
>>>
>>> <mail:queuedDelivery
>>> name="mailer"
>>> permission="zope.Public"
>>> mailer="my-app.smtp"
>>> queuePath="mailqueue"
>>> />
>>>
>>> </configure>
>>> ----------------------------------
>>>
>>> and then my app.py:
>>>
>>> -------------------------------------------------------
>>> import email.MIMEText
>>> import email.Header
>>> from zope.sendmail.interfaces import IMailDelivery
>>> from zope.component import getUtility
>>> import grok
>>>
>>> class Emaildemo(grok.Application, grok.Container):
>>> pass
>>>
>>> class Index(grok.View):
>>> pass # see app_templates/index.pt
>>>
>>> def send_email(sender, recipient, subject, body):
>>> msg = email.MIMEText.MIMEText(body.encode('UTF-8'), 'plain',
>>> 'UTF-8')
>>> msg["From"] = sender
>>> msg["To"] = recipient
>>> msg["Subject"] = email.Header.Header(subject, 'UTF-8')
>>> mailer = getUtility(IMailDelivery, 'mailer')
>>> mailer.send(sender, [recipient], msg.as_string())
>>>
>>> class SendEmail(grok.EditForm):
>>> @grok.action("send email")
>>> def send(self,**data):
>>> send_email("hans at foobar.de","j.adner at fh-sm.de","test","some
>>> body
>>> text")
>>> -----------------------------------------------------------
>>>
>>> after submit the button in http://localhost:8080/testapp/sendemail
>>> I got
>>> an email.
>>>
>>> And in my app-folder, a new directory appears named mailqueue with
>>> Maildir-structure in.
>>>
>>> looks good so far.
>>>
>>> Best regards
>>>
>>> Sebastian Ware schrieb:
>>>> Is it correct that all I need to send emails using zope.sendmail
>>>> through
>>>> a local SMTP-server is to define two global utilities like this:
>>>>
>>>> from zope.sendmail.interfaces import IMailDelivery, ISMTPMailer
>>>>
>>>> from zope.sendmail.delivery import QueuedMailDelivery
>>>> class MyMailer(grok.GlobalUtility, QueuedMailDelivery):
>>>> grok.implements(IMailDelivery)
>>>> grok.name('my-app.mailer')
>>>>
>>>> def __init__(self):
>>>> QueuedMailDelivery.__init__(queuePath='var/mailqueue')
>>>>
>>>> from zope.sendmail.mailer import SMTPMailer
>>>> class MyMailer(grok.GlobalUtility, SMTPMailer):
>>>> grok.implements(ISMTPMailer)
>>>> grok.name('my-app.smtp')
>>>>
>>>> Mvh Sebastian
>>>>
>>>> 15 jul 2009 kl. 13.34 skrev Souheil CHELFOUH:
>>>>
>>>>> zope.sendmail is a very good choice.
>>>>> It's very effective, fast and reliable, from my experience.
>>>>>
>>>>> 2009/7/14 Jens Adner <j.adner at fh-sm.de>
>>>>> Hello,
>>>>>
>>>>> I would like to use a view in grok to allow our user to create a
>>>>> support
>>>>> request.
>>>>>
>>>>> After submitting the form I would like generate an email.
>>>>>
>>>>> I read about zope.sendmail. Is this the latest package I should
>>>>> use to
>>>>> send an email or are there other choices (maybe better)?
>>>>>
>>>>> Greetings
>>>>> Jens
>>>>> --
>>>>> ++++++++ Jens Adner IuK-Zentrum Fachhochschule Schmalkalden +++++
>>>>> ++++
>>>>> ++++++++ Fon: +49 3683688 9201 Fax: +49 3683688 989201 +++++
>>>>> ++++
>>>>> _______________________________________________
>>>>> Grok-dev mailing list
>>>>> Grok-dev at zope.org
>>>>> http://mail.zope.org/mailman/listinfo/grok-dev
>>>>>
>>>>> _______________________________________________
>>>>> Grok-dev mailing list
>>>>> Grok-dev at zope.org
>>>>> http://mail.zope.org/mailman/listinfo/grok-dev
>>>>
>>>
>>> --
>>> ++++++++ Jens Adner IuK-Zentrum Fachhochschule Schmalkalden +++++++
>>> ++
>>> ++++++++ Fon: +49 3683688 9201 Fax: +49 3683688 989201 +++++++
>>> ++
>>
>
> --
> ++++++++ Jens Adner IuK-Zentrum Fachhochschule Schmalkalden +++++++++
> ++++++++ Fon: +49 3683688 9201 Fax: +49 3683688 989201 +++++++++
More information about the Grok-dev
mailing list