Endereços de e-mail temporários são úteis por vários motivos, como evitar spam ou inscrever-se em sites sem usar seu endereço de e-mail principal. Neste guia, criaremos um sistema de e-mail temporário usando Python. Isso inclui gerar um endereço de e-mail aleatório, enviar e-mails e verificar a caixa de entrada.
1. Gere um endereço de e-mail aleatório
Para criar um e-mail temporário, geraremos um endereço de e-mail aleatório usando o random
módulo.
import random
import string
def generate_temp_email(domain='example.com'):
username = ''.join(random.choices(string.ascii_lowercase + string.digits, k=10))
return f"{username}@{domain}"
temp_email = generate_temp_email()
print(f"Temporary Email: {temp_email}")
Este código gera um nome de usuário aleatório de 10 caracteres e anexa o domínio example.com
.
2. Configure SMTP para envio de e-mails
Para enviar emails para o endereço temporário, precisamos configurar um servidor SMTP. Neste exemplo, usaremos o servidor SMTP do Gmail.
import smtplib
from email.mime.text import MIMEText
def send_email(to_address, subject, body):
from_address = '[email protected]'
password = 'your-email-password'
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_address
msg['To'] = to_address
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.starttls()
server.login(from_address, password)
server.sendmail(from_address, to_address, msg.as_string())
# Example usage
send_email(temp_email, "Test Subject", "This is a test email.")
Este código envia um email com o especificado subject
e body
para o endereço de e-mail temporário usando o servidor SMTP do Gmail.
3. Crie um servidor simples para receber e-mails
Para completar o sistema de e-mail temporário, precisamos de um servidor para receber e-mails. Usaremos o Flask
quadro e imaplib
módulo para isso.
from flask import Flask
import imaplib
import email
app = Flask(__name__)
# IMAP server configuration for receiving emails
IMAP_SERVER = 'imap.gmail.com'
IMAP_PORT = 993
EMAIL_ACCOUNT = '[email protected]'
PASSWORD = 'your-email-password'
def check_inbox():
mail = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
mail.login(EMAIL_ACCOUNT, PASSWORD)
mail.select('inbox')
status, messages = mail.search(None, 'ALL')
email_ids = messages[0].split()
for email_id in email_ids:
status, msg_data = mail.fetch(email_id, '(RFC822)')
msg = email.message_from_bytes(msg_data[0][1])
print(f"From: {msg['from']}\nSubject: {msg['subject']}\n\n{msg.get_payload(decode=True).decode('utf-8')}")
mail.logout()
@app.route('/check_mail', methods=['GET'])
def check_mail():
check_inbox()
return "Checked Inbox"
if __name__ == '__main__':
app.run(port=5000)
Este script configura um servidor web simples com Flask que verifica a caixa de entrada de e-mail e imprime o conteúdo de todos os e-mails.
4. Juntando tudo
Agora, combinaremos as etapas para gerar um endereço de email temporário, enviar um email e verificar a caixa de entrada em um script.
import random
import string
import smtplib
from email.mime.text import MIMEText
import imaplib
import email
from flask import Flask
app = Flask(__name__)
def generate_temp_email(domain='example.com'):
username = ''.join(random.choices(string.ascii_lowercase + string.digits, k=10))
return f"{username}@{domain}"
def send_email(to_address, subject, body):
from_address = '[email protected]'
password = 'your-email-password'
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_address
msg['To'] = to_address
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.starttls()
server.login(from_address, password)
server.sendmail(from_address, to_address, msg.as_string())
IMAP_SERVER = 'imap.gmail.com'
IMAP_PORT = 993
EMAIL_ACCOUNT = '[email protected]'
PASSWORD = 'your-email-password'
def check_inbox():
mail = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
mail.login(EMAIL_ACCOUNT, PASSWORD)
mail.select('inbox')
status, messages = mail.search(None, 'ALL')
email_ids = messages[0].split()
for email_id in email_ids:
status, msg_data = mail.fetch(email_id, '(RFC822)')
msg = email.message_from_bytes(msg_data[0][1])
print(f"From: {msg['from']}\nSubject: {msg['subject']}\n\n{msg.get_payload(decode=True).decode('utf-8')}")
mail.logout()
@app.route('/check_mail', methods=['GET'])
def check_mail():
check_inbox()
return "Checked Inbox"
if __name__ == '__main__':
temp_email = generate_temp_email()
print(f"Temporary Email: {temp_email}")
send_email(temp_email, "Test Subject", "This is a test email.")
app.run(port=5000)
Conclusão
Este guia demonstra como criar um sistema de e-mail temporário usando Python. O script gera um endereço de email aleatório, envia um email de teste e verifica a caixa de entrada. Você pode personalizar e aprimorar ainda mais esse script com base em seus requisitos específicos.
Dependências e configuração
Para executar este script, certifique-se de ter os pacotes Python necessários instalados:
pip install Flask
Além disso, atualize o script com suas credenciais de e-mail e certifique-se de que sua conta de e-mail permite acesso a aplicativos menos seguros ou usa uma senha específica do aplicativo.
Com esta configuração, você pode gerenciar com eficiência endereços de e-mail temporários para diversos fins.
Comentários (0)
Ainda não há comentários aqui, você pode ser o primeiro!