pyramid_postmark là một gói phần mềm tích hợp các dấu bưu điện gửi email Thân
dịch vụ với một ứng dụng web Pyramid & nbsp; Đó là một lớp rất mỏng xung quanh thư viện python-dấu bưu điện cung cấp.:
* `Request.mailer`, một 'postmark.PMBatchMail` dụ cấu hình
* `Request.send_email` một chức năng để gửi một hoặc nhiều tin nhắn email
Chúng được tích hợp mặc định với các máy móc giao dịch pyramid_tm, vì vậy các email chỉ được gửi nếu các yêu cầu hiện tại là thành công.
Cài đặt
Cài đặt sử dụng `pip` hoặc` easy_install`, ví dụ: .:
& Nbsp; & nbsp; & nbsp; pips cài đặt pyramid_postmark
cấu hình
Cung cấp `postmark.api_key` trong` thiết lập .ini` ứng dụng của bạn:
& Nbsp; & nbsp; & nbsp; postmark.api_key =
Bao gồm các gói trong phần cấu hình của ứng dụng tự tháp của bạn:
& Nbsp; & nbsp; & nbsp; config.include ('pyramid_postmark')
Sử dụng
Sau đó bạn có thể gửi một email như thế này:
& Nbsp; & nbsp; & nbsp; # Ví dụ: trong một lần xem callable / bất cứ nơi nào mà bạn đang xử lý một `request`.
& Nbsp; & nbsp; & nbsp; từ dấu bưu điện nhập khẩu PMMail
& Nbsp; & nbsp; & nbsp; email = PMMail (sender='a@b.com ', to='b@c.com', 'Chủ đề' subject =,
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; html_body = '
& Nbsp; & nbsp; & nbsp; request.send_email (email)
Hoặc gửi nhiều email:
& Nbsp; & nbsp; & nbsp; request.send_email ([email, email])
Hoặc sử dụng các bưu phẩm hàng loạt trực tiếp:
& Nbsp; & nbsp; & nbsp; request.mailer.messages = [email]
& Nbsp; & nbsp; & nbsp; request.mailer.send ()
Lưu ý rằng người gửi email của bạn sẽ cần phải phù hợp với chữ ký dấu bưu điện gửi của bạn.
Theo mặc định, `request.send_email` gửi email iff giao dịch hiện thành công. & Nbsp; Bạn có thể ghi đè này sử dụng `cờ postmark.should_join_tx` trong` thiết lập .ini` của bạn:
& Nbsp; & nbsp; & nbsp; postmark.should_join_tx = false
Hoặc khi gọi 'request.send_email`:
& Nbsp; & nbsp; & nbsp; request.send_email (email, should_join_tx = False)
Nếu bạn đang cảm thấy optimisic, bạn có thể gửi email trong nền:
& Nbsp; & nbsp; & nbsp; request.send_email (email, in_background = True)
Lưu ý rằng việc gửi các công trình nền dù bạn gửi ngay lập tức hoặc chờ đợi cho giao dịch hiện nay để thành công. & Nbsp; tức là: Như và khi các email sẽ được gửi đi, nó được gửi trong một thread nền sử dụng đoạn mã sau:
& Nbsp; & nbsp; & nbsp; do_send = thread_cls (target = mailer.send) .start nếu in_background khác mailer.send
thử nghiệm
Thử nghiệm trên python2.7 chỉ (như [python-dấu bưu điện] [] chưa Python3 tương thích). Cài đặt 'mock`, `và` nose` coverage` sau đó ví dụ: .:
& Nbsp; & nbsp; & nbsp; nosetests --with-bảo hiểm --with-doctest --cover gói pyramid_postmark pyramid_postmark
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; Name Stmts & nbsp; & nbsp; Hoa hậu & nbsp; Cover & nbsp; & nbsp; Thiếu
& 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 3 bài kiểm tra trong 0.017s
& Nbsp; & nbsp; & nbsp; OK
Yêu cầu :
- Python
- tháp
Bình luận không