6.15. Sending e-mail
6.15.1 SendMail()
Karrigell provides a class,SendMail(), allowing programmer to easily send e-mails.SendMail() use is :
import k_email
msg = k_email.SendMail(u"Subject of this message", 'smtp.server.com')
SendMail() parameters are :
subject: Title of the message.smtp_server: SMTP server address used for sending the message.
6.15.2 set_from()
Methodset_from(), sets the "from" field of the message.set_from() use is :
msg.set_from("Pierre", "pierre.quentel@wanadoo.fr")
set_from() parameters are :
name: Name in clear form. If you don't want to give a name, name must be an empty string.address: e-mail address (used for reply if no "reply to" field specified)
6.15.3 set_reply_to()
Methodset_reply_to(), sets the "reply to" field of the message.set_reply_to() use is :
msg.set_reply_to("Pierre", "pierre.quentel@wanadoo.fr")
set_reply_to() parameters are :
name: Name in clear form. If you don't want to give a name, name must be an empty string.address: e-mail address used for reply.
6.15.4 set_message()
Methodset_message(), sets the content of the mesage.set_message() use is :
msg.set_message("Content of the message.")
set_message() parameter is :
text: Content of the message.
6.15.5 add_recipient()
Methodadd_recipient(), adds a recipient.add_recipient() use are :
msg.add_recipient("Paul", "Paul@wanadoo.fr")
msg.add_recipient("Paulette", "Paulette@wanado.fr", cc=True)
add_recipient() parameters are :
name: Name of the recipient in clear form. If you don't want to give a name, name must be an empty string.address: e-mail address of the recipient.add_to_header: If True, name and address are added to the "to" list of recipients (default value = True).add_to_smtp: If True, address is added to smtp recipient list (default value = True).cc: If True, name and address are added to the "cc" list of recipients (default value = False).
This allows you to send messages to a list without reveiling the effective recipients :
msg.add_recipient("My mailing list", '', True, False) # Add name of recipient (shown in e-mailer)
msg.add_recipient("", "Paul@wanado.fr", False, True) # Add address to smtp recipient list (not shown is e-mailer)
msg.add_recipient("", "Paulette@wanado.fr", False, True) # Add address to smtp recipient list (not shown is e-mailer)
msg.add_recipient("", "Paulo@wanado.fr", False, True) # Add address to smtp recipient list (not shown is e-mailer)
6.15.6 add_attachment()
Methodadd_attachment(), adds an attached file to the message.add_attachment() use is :
msg.add_attachment("My file.pdf")
add_attachment() parameter is :
fileName: Name of the file to add.
6.15.7 set_smtp_username_and_password()
Methodset_smtp_username_and_password(), sets the login and password of SMTP server.set_smtp_username_and_password() use is :
msg.set_smtp_username_and_password("my_name", "my_password)
set_smtp_username_and_password() parameters are :
smtp_user_name: User name for SMTP server login.smtp_password: Password associated with user name.
set_smtp_username_and_password() only
when the SMTP server you use requests authentication.
6.15.8 send()
Method send(), sends the message to all recipients that are in smtp recipient list.
send() use is :
msg.send()
6.15.9 Miscellaneous
Here is a list of other methods that can be usefull :
set_subject() : Replaces the title of the message.
message_prepend() : Adds text to the beginning of the message.
message_append() : Adds text to the end of the message.
message_prepend_file() : Adds content of a text file to the beginning of the message.
message_append_file() : Adds content of a text file to the end of the message.
clear_recipients() : Clears recipient list.
clear_attachments() : Clears attachment list.
set_smtp_server() : Replaces smtp server address.
6.15.10 Examples
In the following example, a message is sent to 4 recipients. One recipient is in the 'cc' list.
Another recipient has no 'name', only its address is known. 2 files are attached to the message.
import k_email
msg = k_email.SendMail(u"Subject of this message", 'smtp.server.com')
msg.set_from (u"Karrigell WEB site", '')
msg.set_message('Hello message')
msg.set_reply_to(u"karrigell group", 'karrigell@googlegroups.com') # Not mandatory
msg.add_recipient(u'recipient 1', 'recipient1@server1.com')
msg.add_recipient(u'recipient 2', 'recipient2@server2.com')
msg.add_recipient(u'', 'recipient3@server3.com')
msg.add_recipient(u'recipient 4', 'recipient4@server4.com', cc=True) # Not mandatory
msg.add_attachment ("ASCII characters.pdf") # Not mandatory
msg.add_attachment (u"caractères UNICODE.pdf") # Not mandatory
msg.send()
In the following example, a message is sent to 3 recipients.
All recipients will see 'List group' as the sender and 'Karrigell list' as recipient.
import k_email
msg = k_email.SendMail(u"Subject of this message", 'smtp.server.com')
msg.set_from (u"List group", '')
msg.set_message('Hello to list')
msg.set_reply_to(u"List group", 'list@server.com')
msg.add_recipient(u'Karrigell list', '', True, False)
msg.add_recipient(u'', 'recipient1@server1.com', False, True)
msg.add_recipient(u'', 'recipient2@server2.com', False, True)
msg.add_recipient(u'', 'recipient3@server3.com', False, True)
msg.send()