تعد عناوين البريد الإلكتروني المؤقتة مفيدة لعدة أسباب، مثل تجنب البريد العشوائي أو الاشتراك في مواقع الويب دون استخدام عنوان بريدك الإلكتروني الأساسي. في هذا الدليل، سنقوم بإنشاء نظام بريد إلكتروني مؤقت باستخدام لغة بايثون. يتضمن ذلك إنشاء عنوان بريد إلكتروني عشوائي وإرسال رسائل البريد الإلكتروني والتحقق من البريد الوارد.
1. قم بإنشاء عنوان بريد إلكتروني عشوائي
لإنشاء بريد إلكتروني مؤقت، سنقوم بإنشاء عنوان بريد إلكتروني عشوائي باستخدام random
وحدة.
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}")
ينشئ هذا الرمز اسم مستخدم عشوائيًا مكونًا من 10 أحرف ويضيف المجال example.com
.
2. قم بإعداد SMTP لإرسال رسائل البريد الإلكتروني
لإرسال رسائل البريد الإلكتروني إلى العنوان المؤقت، نحتاج إلى تكوين خادم SMTP. في هذا المثال، سنستخدم خادم SMTP الخاص بـ 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.")
يرسل هذا الرمز بريدًا إلكترونيًا يحتوي على المحدد subject
و body
إلى عنوان البريد الإلكتروني المؤقت باستخدام خادم SMTP الخاص بـ Gmail.
3. إنشاء خادم بسيط لتلقي رسائل البريد الإلكتروني
لإكمال نظام البريد الإلكتروني المؤقت، نحتاج إلى خادم لتلقي رسائل البريد الإلكتروني. سوف نستخدم Flask
الإطار و imaplib
وحدة لهذا.
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)
يقوم هذا البرنامج النصي بإعداد خادم ويب بسيط باستخدام Flask الذي يتحقق من صندوق البريد الإلكتروني ويطبع محتويات جميع رسائل البريد الإلكتروني.
4. تجميع كل شيء معًا
الآن، سنقوم بدمج الخطوات لإنشاء عنوان بريد إلكتروني مؤقت، وإرسال بريد إلكتروني، والتحقق من البريد الوارد في برنامج نصي واحد.
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)
خاتمة
يوضح هذا الدليل كيفية إنشاء نظام بريد إلكتروني مؤقت باستخدام لغة بايثون. يقوم البرنامج النصي بإنشاء عنوان بريد إلكتروني عشوائي، ويرسل بريدًا إلكترونيًا تجريبيًا، ويتحقق من البريد الوارد. يمكنك تخصيص هذا البرنامج النصي وتحسينه بشكل أكبر بناءً على متطلباتك المحددة.
التبعيات والإعداد
لتشغيل هذا البرنامج النصي، تأكد من تثبيت حزم Python الضرورية:
pip install Flask
قم أيضًا بتحديث البرنامج النصي باستخدام بيانات اعتماد البريد الإلكتروني الخاصة بك وتأكد من أن حساب البريد الإلكتروني الخاص بك يسمح بالوصول إلى التطبيقات الأقل أمانًا أو يستخدم كلمة مرور خاصة بالتطبيق.
باستخدام هذا الإعداد، يمكنك إدارة عناوين البريد الإلكتروني المؤقتة بكفاءة لأغراض مختلفة.
التعليقات (0)
لا توجد تعليقات هنا حتى الآن، يمكنك أن تكون الأول!