Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Code repository: http://svn.somewhere.com/

Change history

0.1 (xxxx-xx-xx)

  • Created recipe with ZopeSkel [Ingeniweb].

Detailed Documentation

Supported options

The recipe supports the following options:

zope2location

A path to a Zope2 instance

name

The name of the mail queue delivery utility. Default to iw.mailer.

host

Your smtp host. Default to localhost.

port

Yout smtp port. Default to 25.

mailqueue

A path to an existing directory to create a mailqueue. Default to var/. Be aware that this need to be an absolute path.

Example usage

The PyPI page for zc.buildout contains documentation about the test environment.

http://pypi.python.org/pypi/zc.buildout#testing-support

Below is a skeleton doctest that you can start with when building your own tests.

We’ll start by creating a buildout that uses the recipe:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = mailer
...
... [mailer]
... recipe = iw.recipe.sendmail
... zope2location=parts/zope2
... host = smtp.example.com
... """)

Simulate the Zope2 part:

>>> mkdir('parts','zope2')
>>> mkdir('parts','zope2','etc')
>>> mkdir('parts','zope2','etc','package-includes')

Running the buildout gives us:

>>> print system(buildout)
Installing mailer.
iw.sendmail.zcml: Generated file 'iw.sendmail.zcml'.

And see the results zcml stub:

>>> cat('parts','zope2','etc','package-includes', 'iw.sendmail.zcml')
<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:zcml="http://namespaces.zope.org/zcml"
    xmlns:mail="http://namespaces.zope.org/mail">
<BLANKLINE>
    <mail:smtpMailer
        name="iw.smtp"
        hostname="smtp.example.com"
        port="25"
        />
<BLANKLINE>
    <mail:queuedDelivery
        name="iw.mailer"
        permission="zope.Public"
        mailer="iw.smtp"
        queuePath="/sample-buildout/var/mailqueue"
        />
<BLANKLINE>
    <configure zcml:condition="installed iw.mailhost">
        <include package="iw.mailhost" />
    </configure>
<BLANKLINE>
</configure>

Let’s try with all parameters:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = mailer
...
... [mailer]
... recipe = iw.recipe.sendmail
... zope2location=parts/zope2
... name = mailer
... host = smtp.example2.com
... port = 50
... mailqueue = ${buildout:directory}
... """)

Running the buildout again:

>>> print system(buildout)
Uninstalling mailer.
Installing mailer.
iw.sendmail.zcml: Generated file 'iw.sendmail.zcml'.

And see the results zcml stub:

>>> cat('parts','zope2','etc','package-includes', 'iw.sendmail.zcml')
<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:zcml="http://namespaces.zope.org/zcml"
    xmlns:mail="http://namespaces.zope.org/mail">
<BLANKLINE>
    <mail:smtpMailer
        name="iw.smtp"
        hostname="smtp.example2.com"
        port="50"
        />
<BLANKLINE>
    <mail:queuedDelivery
        name="mailer"
        permission="zope.Public"
        mailer="iw.smtp"
        queuePath="/sample-buildout/mailqueue"
        />
<BLANKLINE>
    <configure zcml:condition="installed iw.mailhost">
        <include package="iw.mailhost" />
    </configure>
<BLANKLINE>
</configure>

Contributors

Ingeniweb, Author

Download

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page