English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
As aplicações web baseadas em Web geralmente precisam ter a capacidade de enviar e-mails para os usuários/Funcionalidade de envio de e-mails do cliente. Flask-A extensão Mail torna muito fácil configurar uma interface simples para qualquer servidor de e-mail.
Inicialmente, Flask-A extensão Mail pode ser instalada usando a ferramenta pip, conforme mostrado -
# Filename: example.py # Copyright: 2020 By w3codebox # Author by: pt.oldtoolbag.com # Data: 2020-08-08 pip install Flask-Mail
Então, é necessário configurar os valores dos seguintes parâmetros do aplicativo para o Flask-Mail.
Número | Parâmetros | Descrição |
1 | MAIL_SERVER | Nome do servidor de e-mail/Endereço IP |
2 | MAIL_PORT | Porta do servidor utilizado |
3 | MAIL_USE_TLS | Ativar/Desativar criptografia de camada de transferência de segurança |
4 | MAIL_USE_SSL | Ativar/Desativar criptografia de camada de segurança |
5 | MAIL_DEBUG | Suporte de depuração, o padrão é o estado de depuração do aplicativo Flask |
6 | MAIL_USERNAME | Nome de usuário do remetente |
7 | MAIL_PASSWORD | Senha do remetente |
8 | MAIL_DEFAULT_SENDER | Configurar o remetente padrão |
9 | MAIL_MAX_EMAILS | Configurar o número máximo de e-mails a serem enviados |
10 | MAIL_SUPPRESS_SEND | Se app.testing for definido como true, as mensagens enviadas serão suprimidas |
11 | MAIL_ASCII_ATTACHMENTS | Se definido como true, o nome do arquivo anexado é convertido para ASCII |
flask-O módulo mail contém as definições das seguintes classes importantes.
Ele gerencia os requisitos de mensagem de e-mail. O construtor da classe Mail aceita a seguinte forma -
Número | Método | Descrição |
1 | send() | Enviar o conteúdo do objeto Message |
2 | connect() | Abrir conexão com o host de e-mail |
3 | send_message() | Enviar o objeto mensagem |
Ele encapsula um e-mail, o construtor da classe Message tem vários parâmetros -
# Filename: example.py # Copyright: 2020 By w3codebox # Author by: pt.oldtoolbag.com # Data: 2020-08-08 flask-mail.Message(subject, recipients, body, html, sender, cc, bcc, responder-to, date, charset, extra_headers, mail_options, rcpt_options)
attach() - Adicione um anexo à mensagem. Este método aceita os seguintes parâmetros - filename - o nome do arquivo a ser anexado content_type - o tipo MIME do arquivo data - dados do arquivo original disposition - tratamento de conteúdo, se houver.
add_recipient() - Adicione outro destinatário à mensagem
No exemplo a seguir, o servidor SMTP do serviço Gmail do Google é usado como o Flask-O servidor de e-mail configurado no Mail.
Número1Passo - No código, importe do flask-O módulo mail importa as classes Mail e Message.
# Filename: example.py # Copyright: 2020 By w3codebox # Author by: pt.oldtoolbag.com # Data: 2020-08-08 from flask_mail import Mail, Message
Número2Passo - Em seguida, configure o Flask com base nas seguintes configurações-Mail.
# Filename: example.py # Copyright: 2020 By w3codebox # Author by: pt.oldtoolbag.com # Data: 2020-08-08 app.config['MAIL_SERVER']='smtp.gmail.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USERNAME'] = '[email protected]' app.config['MAIL_PASSWORD'] = "*****" app.config['MAIL_USE_TLS'] = False app.config['MAIL_USE_SSL'] = True
Número3Passo - Crie uma instância da classe Mail.
# Filename: example.py # Copyright: 2020 By w3codebox # Author by: pt.oldtoolbag.com # Data: 2020-08-08 mail = Mail(app)
Número4Passo - na função Python mapeada pela regra de URL (/definindo o objeto Message no )
# Filename: example.py # Copyright: 2020 By w3codebox # Author by: pt.oldtoolbag.com # Data: 2020-08-08 @app.route("/)") def index(): msg = Message('Hello', sender='[email protected]', recipients=['[email protected]']) msg.body = "This is the email body" mail.send(msg) return "Enviado"
Número5Passo - Todo o código está a seguir. Execute o seguinte script no Python Shell e acesse a URL: http://localhost:5000/.
# Filename: example.py # Copyright: 2020 By w3codebox # Author by: pt.oldtoolbag.com # Data: 2020-08-08 from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) mail=Mail(app) app.config['MAIL_SERVER']='smtp.gmail.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USERNAME'] = '[email protected]' app.config['MAIL_PASSWORD'] = "*****" app.config['MAIL_USE_TLS'] = False app.config['MAIL_USE_SSL'] = True mail = Mail(app) @app.route("/)") def index(): msg = Message('Hello', sender='[email protected]', recipients=['[email protected]']) msg.body = "Hello Flask message sent from Flask-Mail" mail.send(msg) return "Enviado" if __name__ == '__main__': app.run(debug=True)
Atenção, funções inseguras integradas no serviço do Gmail podem bloquear esta tentativa de login, pode ser necessário reduzir o nível de segurança. Acesse sua conta do Gmail e visite Este LinkPara Reduzir a Segurança.