Vale ressaltar que o exemplo é indicado para envio de e-mail mais simples, para enviar e-mail com formatações especiais e anexos é recomendado o uso do módulo email.
O módulo smtplib define um cliente SMTP que pode ser usado para enviar emails tanto via SMTP quanto ESMTP. O smtplib segue os padrões da RFC 821 (SMTP), RFC 1869 (ESMTP), RFC 2554 (Autenticação SMTP) e RFC 2487 (SMTP Seguro via TLS).
Como este módulo já está incluso nas bibliotecas do Python você não precisará instalar nenhuma biblioteca adicional.
Agora que já demos uma boa introdução sobre o módulo smtplib vamos ao que interessa.
Inicialmente vamos importar o módulo:
Inicialmente vamos importar o módulo:
import smtplib
Vamos criar a instância do SMTP de acordo com a forma de autenticação:
Vamos criar a instância do SMTP de acordo com a forma de autenticação:
TLS
smtp
=
smtplib.SMTP(
'localhost'
,
587
)
smtp.starttls()
SSL
smtp
=
smtplib.SMTP_SSL(
'localhost'
,
465
)
Sem autenticação
smtp
=
smtplib.SMTP(
'localhost'
,
25
)
Se escolhemos TLS ou SSL devemos fazer a autenticação:
smtp.login(
'usuário'
,
'senha'
)
Caso seja sem autenticação devemos nos identificar enviando o comando EHLO ou HELO:
# EHLO
smtp.ehlo()
# HELO
smtp.helo()
# De forma genérica. Tenta EHLO primeiro.
smtp.ehlo_or_helo_if_needed()
Não há necessidade de chamar os métodos
Enviando um email:
ehlo
ou helo
quando se utiliza SSL ou TLS, pois o método login faz a chamada desses métodos caso seja necessário.Enviando um email:
msg
=
"""From: Seu Nome <seuemail@seudominio.com.br>
To: outroemail@seudominio.com.br
Subject: Buteco
Open
Source
Email de teste do Buteco
Open
Source"""
smtp.sendmail(
'seuemail@seudominio.com.br'
, [
'outroemail@seudominio.com.br'
], msg)
-----------------------------------------------------------------------------------------
Abaixo você pode verificar como enviar usando TLS:
import smtplib
smtp = smtplib.SMTP('smtp.gmail.com', 587)
smtp.starttls()
smtp.login('seuemail@gmail.com', 'suasenha')
de = 'seuemail@gmail.com'
para = ['seuemail@gmail.com']
msg = """From: %s
To: %s
Subject: Buteco Open Source
Email de teste do Buteco Open Source.""" % (de, ', '.join(para))
smtp.sendmail(de, para, msg)
smtp.quit()
--------------------------------------------------------------------------------------------
Já neste outro exemplo você pode verificar como enviar via SSL:
import smtplib
smtp = smtplib.SMTP_SSL('smtp.gmail.com', 465)
smtp.login('seuemail@gmail.com', 'suasenha')
de = 'seuemail@gmail.com'
para = ['seuemail@gmail.com']
msg = """From: %s
To: %s
Subject: Buteco Open Source
Email de teste do Buteco Open Source.""" % (de, ', '.join(para))
smtp.sendmail(de, para, msg)
smtp.quit()
Confira abaixo uma lista dos servidores de email mais comuns e suas configurações.
Espero que você tenha gostado desta publicação. Continue acompanhando que faremos uma continuação falando sobre o módulo email.
Nome | Servidor | Autenticação | Porta |
---|---|---|---|
Gmail | smtp.gmail.com | SSL | 465 |
Gmail | smtp.gmail.com | StartTLS | 587 |
Hotmail | smtp.live.com | SSL | 465 |
Mail.com | smtp.mail.com | SSL | 465 |
Outlook.com | smtp.live.com | StartTLS | 587 |
Office365.com | smtp.office365.com | StartTLS | 587 |
Yahoo Mail | smtp.mail.yahoo.com | SSL | 465 |
Espero que você tenha gostado desta publicação. Continue acompanhando que faremos uma continuação falando sobre o módulo email.
Nenhum comentário:
Postar um comentário