pyramid_postmark er en pakke som integrerer poststempling e-sending Body
tjeneste med en Pyramid webapplikasjon & nbsp; Det er et veldig tynt lag rundt python-poststempel bibliotek som gir.:
* `Request.mailer`, en konfigurert` postmark.PMBatchMail` eksempel
* `Request.send_email` en funksjon for å sende en eller flere e-postmeldinger
Disse er integrert som standard med pyramid_tm transaksjonen maskiner, så e-post sendes kun hvis den gjeldende forespørselen er vellykket.
Installer
Installere ved hjelp av `pip` eller` easy_install`, f.eks .:
& Nbsp; & nbsp; & nbsp; PIP installere pyramid_postmark
Konfigurer
Gi `postmark.api_key` i programmets` .ini` innstillinger:
& Nbsp; & nbsp; & nbsp; postmark.api_key =
Inkluder pakken i konfigurasjonsdelen av din Pyramid app:
& Nbsp; & nbsp; & nbsp; config.include ('pyramid_postmark')
Bruk
Deretter kan du sende en e-post som dette:
& Nbsp; & nbsp; & nbsp; # Eg: i sikte Callable / hvor som helst hvor du håndterer en `request`.
& Nbsp; & nbsp; & nbsp; fra poststempel import PMMail
& Nbsp; & nbsp; & nbsp; email = PMMail (sender='a@b.com ', to='b@c.com', lagt = 'emne',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; html_body = '
& Nbsp; & nbsp; & nbsp; request.send_email (e-post)
Eller sende flere e-poster:
& Nbsp; & nbsp; & nbsp; request.send_email ([email, e-post])
Eller bruke batch mailer direkte:
& Nbsp; & nbsp; & nbsp; request.mailer.messages = [email]
& Nbsp; & nbsp; & nbsp; request.mailer.send ()
Vær oppmerksom på at din avsender e-post vil trenge for å matche din Post avsender signatur.
Som standard `request.send_email` sender e-post iff den gjeldende transaksjonen lykkes. & Nbsp; Du kan overstyre dette ved hjelp av `postmark.should_join_tx` flagg i dine` .ini` innstillinger:
& Nbsp; & nbsp; & nbsp; postmark.should_join_tx = false
Eller når du ringer `request.send_email`:
& Nbsp; & nbsp; & nbsp; request.send_email (e-post, should_join_tx = False)
Hvis du føler deg optimisic, kan du sende e-post i bakgrunnen:
& Nbsp; & nbsp; & nbsp; request.send_email (e-post, in_background = True)
Legg merke til at bakgrunnen sende fungerer om du sender umiddelbart eller vente på den aktuelle transaksjonen for å lykkes. & Nbsp; dvs: Som og når e-posten skal sendes, er det sende i en bakgrunnstråd ved hjelp av følgende kode:
& Nbsp; & nbsp; & nbsp; do_send = thread_cls (target = mailer.send) .start hvis in_background annet mailer.send
Tester
Testet på python2.7 bare (som [python-poststempel] [] er ennå ikke Python3 kompatibel). Installere `mock`,` nose` og `coverage` da f.eks .:
& Nbsp; & nbsp; & nbsp; nosetests --with-dekning --with-doctest --cover-pakke pyramid_postmark pyramid_postmark
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; Name Stmts & nbsp; & nbsp; Miss & nbsp; Cover & nbsp; & nbsp; Mangler
& Nbsp; & nbsp; & nbsp; -------------------------------------------------- ----
& Nbsp; & nbsp; & nbsp; pyramid_postmark & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 5 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0 & nbsp; & nbsp; 100%
& Nbsp; & nbsp; & nbsp; pyramid_postmark.hooks & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 22 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0 & nbsp; & nbsp; 100%
& Nbsp; & nbsp; & nbsp; -------------------------------------------------- ----
& Nbsp; & nbsp; & nbsp; TOTAL 27 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0 & nbsp; & nbsp; 100%
& Nbsp; & nbsp; & nbsp; -------------------------------------------------- --------------------
& Nbsp; & nbsp; & nbsp; Ran tre tester i 0.017s
& Nbsp; & nbsp; & nbsp; OK
Krav :
- Python
- pyramide
Kommentarer ikke funnet