Sendmail#
- trytond.sendmail.sendmail_transactional(from_addr, to_addrs, msg[, transaction[, datamanager[, strict]]])#
Send email message only if the current transaction is successfully committed.
The required arguments are an RFC 5322 from-address string, a list of RFC 5322 to-address strings (a bare string is treated as a list with 1 address), and an
email.message.Message
. The caller may pass aTransaction
instance to join otherwise the current one is joined. A specific data manager can be specified otherwise the defaultSMTPDataManager
is used for sending email. The strict value is passed to instantiate the defaultSMTPDataManager
.Warning
An SMTP failure is only logged without raising any exception.
- trytond.sendmail.send_message_transactional(msg[, from_addr[, to_addrs[, transaction[, datamanager[, strict]]]]])#
It is a convenience method for calling
sendmail_transactional()
. Iffrom_addr
isNone
orto_addrs
isNone
, if fills those arguments with addresses extracted from the headers ofmsg
.
- trytond.sendmail.sendmail(from_addr, to_addrs, msg[, server[, strict]])#
Send email message like
sendmail_transactional()
but directly without caring about the transaction and return theserver
.The caller may pass a server instance from smtplib. It may return a new server instance if a reconnection was needed and if the instance comes from
get_smtp_server()
. If strict isTrue
, an exception is raised if it is not possible to connect to the server.
- trytond.sendmail.send_message(msg[, from_addr[, to_addrs[, server[, strict]]]])#
Same convenience method as
send_message_transactional()
but for callingsendmail()
.
- trytond.sendmail.get_smtp_server([uri[, strict]])#
Return a SMTP instance from smtplib using the
uri
or the one defined in theemail
section of the configuration. If strict isTrue
, an exception is raised if it is not possible to connect to the server.
- class trytond.sendmail.SMTPDataManager([uri[, strict]])#
Implement a data manager which send queued email at commit.
An option optional
uri
can be passed to configure the SMTP connection. If strict isTrue
, the data manager prevents the transaction if it fails to send the emails.
- SMTPDataManager.put(from_addr, to_addrs, msg)#
Queue the email message to send.