seitime-frappe/docs/html/_sources/email_lib.txt
2011-06-08 14:24:18 +05:30

90 lines
No EOL
1.9 KiB
Text

:mod:`email_lib` --- Email
==========================
.. module:: email_lib
:synopsis: Email library
Email object
------------
.. class:: Email(self, sender='', recipients=[], subject='')
Wrapper on the email module. Email object represents emails to be sent to the client.
Also provides a clean way to add binary `FileData` attachments
.. attribute:: sender
sender's email
.. attribute:: reply_to
[Optional] if reply_to is not same as sender
.. attribute:: recipients
`list` of recipients or a string separated by comma (,) or semi-colon (;)
.. attribute:: subject
email subject
.. attribute:: msg
message object `email.mime.multipart.MIMEMultipart`
.. attribute:: cc
`list` of cc email ids
.. method:: set_message(message, mime_type='text/html')
append the message with MIME content
.. method:: attach(file_id)
attach a file from the `FileData` table
.. method:: validate()
validate the email ids
.. method:: setup()
setup the SMTP (outgoing) server from `Control Panel` or defs.py
.. method:: send()
send the message
.. method:: validate_email_add(email_id)
Validate the email id
.. method:: sendmail(recipients, sender='', msg='', subject='[No Subject]', parts=[], cc=[], attach=[])
Short cut to method to send an email
Example
-------
Email with attachments::
# get attachments
al = sql('select file_list from `tab%s` where name="%s"' % (dt, dn))
if al:
al = al[0][0].split('\n')
# create the object
email = server.EMail('test@webnotestech.com', ['a@webnotestech.com', 'b@webnotestech.com'], 'this is a test')
# add some intro
email.set_message(replace_newlines('Hi\n\nYou are being sent %s %s\n\nThanks' % dt, dn))
# add attachments
for a in al:
email.attach(a.split(',')[0])
# send
email.send()