E-mails podem ser facilmente enviados pelo método send() do seu mailer.
mail.send(to=['[email protected]'],
subject='Seu assunto',
reply_to='[email protected]', # pode ser omitido
message='Mensagem do e-mail.'
)
Essa função retornará True caso o envio tenha ocorrido sem problemas e False caso contrário.
As mensagens de e-mails podem conter HTML para sua formatação, indicado sempre pelas tags <html>
e </html>
.
mail.send(to=['[email protected]'],
subject='E-mail HTML',
message='<html> Mensagem <strong>teste</strong>.</html>'
)
Seus arquivos HTML ficam na pasta views, portanto se você tem um arquivo HTML específico para um e-mail, pode enviá-lo da seguinte maneira:
context = dict(person='Fulano')
message = response.render('message.html', context)
mail.send(to=['[email protected]'],
subject='Arquivo HTML de E-mail',
message=message)
O response.render() vai renderizar o arquivo message.html que está dentro da pasta views como o seu novo e-mail. Todas as variáveis passadas no dicionário context serão substituídas em seus respectivos lugares, quando definidos, como veremos no capítulo de views.
Arquivos podem ser anexados ao e-mail de maneira simples:
mail.send(to='[email protected]',
subject='E-mail com anexo',
message='<html><img src="cid:photo" /></html>',
attachments = mail.Attachment('/path/to/photo.jpg', content_id='photo')
)
Com múltiplos anexos:
mail.send(to='[email protected]',
subject = 'Muitos Anexos!',
message = 'Mensagem sobre muitos anexos.',
attachments = [mail.Attachment('/path/to/fist.file'),
mail.Attachment('/path/to/second.file')]
)