Python: Como enviar e-mails (Parte 1 – módulo smtp)

Want create site? Find Free WordPress Themes and plugins.
Python: Como enviar e-mails (Parte 1 – módulo smtp)

O módulo smtplib do Python define um cliente SMTP que pode ser usado para enviar email via SMTP ou 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. 
Inicialmente vamos importar o módulo:

[import smtplib]

Vamos criar a instância do SMTP de acordo com a forma de autenticação:
[TLSsmtp = smtplib.SMTP(‘localhost’, 587)
smtp.starttls()]
SSL

[smtp = smtplib.SMTP_SSL(‘localhost’, 465)]

Sem autenticação

[smtp = smtplib.SMTP(‘localhost’, 25)]

Ao escolher 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 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: seudominio.com.br
To: [email protected]
Subject: SempreUpdate
Email de teste do SempreUpdate.”””
smtp.sendmail(‘[email protected]’, [‘[email protected]’], msg)]

Note que o segundo parâmetro do método sendmail deve ser uma lista. Mesmo que o destinatário seja apenas um. 
Finalizando a sessão SMTP:

[smtp.quit()]

Agora que já sabemos quais partes usar, vamos colocar tudo em prática em um exemplo. No exemplo vou utilizar o GMail como servidor SMTP, mas você pode utilizar outro de sua preferência. No caso do GMail talvez seja necessário habilitar o uso de aplicativos não seguros.
Abaixo você pode verificar como enviar usando TLS:
[import smtplib
smtp = smtplib.SMTP(‘smtp.gmail.com’, 587) 
smtp.starttls()
 smtp.login(‘[email protected]’, ‘suasenha’) 
de = ‘[email protected]
para = [‘[email protected]’] 
msg = “””From: %s
To: %s 
Subject: SempreUpdate
Email de teste do SempreUpdate.””” % (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(‘[email protected]’, ‘suasenha’) 
de = ‘[email protected]’ 
para = [‘[email protected]’]
msg = “””From: %s 
To: %s 
Subject: SempreUpdate
Email de teste do SempreUpdate.””” % (de, ‘, ‘.join(para)) 
smtp.sendmail(de, para, msg)
smtp.quit()]
Você deve ter achado a forma de criar o corpo da mensagem um pouco estranha, certo? Não se preocupe, o módulo e-mail resolve esse problema.
Vamos ver o módulo email na segunda parte desta publicação.

Espero que você tenha gostado e até mais.

Did you find apk for android? You can find new Free Android Games and apps.

você pode gostar também Mais do autor

Comentários