SMTP
The SMTP Extension includes the
SMTPMailHandler
, and provides the ability for applications to send email via standard SMTP.Documentation References:
API References:
- No external depencies
This extension supports the following configuration settings under a
[mail.dummy]
configuration section:Setting | Description |
to | Default recipient address (list, or comma separated depending on the config handler in use). |
from_addr | Default sender address |
cc | Default carbon-copy addresses (list, or comma separated depending on the config handler in use) |
bcc | Default blind-carbon-copy addresses (list, or comma separated depending on the config handler in use) |
subject | Default subject line |
subject_prefix | Additional string to prepend to the subject line of all messages |
host | The SMTP host server address. Default: localhost |
port | The SMTP host server port. Default: 25 |
timeout | The timeout in seconds before terminating a connection. Default: 30 |
ssl | Whether to initiate SSL or not. Default: False |
tls | Whether to use TLS or not (requires SSL). Default: False |
auth | Whether or not to initiate SMTP authentication. Default: False |
username | SMTP authentication username. Default: None |
password | SMTP authentication password. Default: None |
Example: Using SMTP Mail Handler
myapp.py
from cement import App
class MyApp(App):
class Meta:
label = 'myapp'
mail_handler = 'smtp'
with MyApp() as app:
app.run()
app.mail.send('This is my fake message',
subject='This is my subject',
to=['[email protected]', '[email protected]'],
from_addr='[email protected]',
)
~/.myapp.conf
[myapp]
# set the mail handler to use
mail_handler = smtp
[mail.smtp]
# default to addresses (comma separated list)
to = [email protected]
# default from address
from = [email protected]
# default cc addresses (comma separated list)
# default bcc addresses (comma separated list)
# default subject
subject = This is The Default Subject
# additional prefix to prepend to the subject
subject_prefix = MY PREFIX >
# smtp host server
host = localhost
# smtp host port
port = 465
# timeout in seconds
timeout = 30
# whether or not to establish an ssl connection
ssl = true
# whether or not to use start tls
tls = true
# whether or not to initiate smtp auth
auth = true
# smtp auth username
username = john.doe
# smtp auth password
password = oober_secure_password
Last modified 5yr ago