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 a Transaction instance to join otherwise the current one is joined. A specific data manager can be specified otherwise the default SMTPDataManager is used for sending email. The strict value is passed to instantiate the default SMTPDataManager.

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(). If from_addr is None or to_addrs is None, if fills those arguments with addresses extracted from the headers of msg.

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 the server.

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 is True, 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 calling sendmail().

trytond.sendmail.get_smtp_server([uri[, strict]])#

Return a SMTP instance from smtplib using the uri or the one defined in the uri section of the email configuration. If strict is True, 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 is True, 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.