برای ایجاد یک برنامه گرافیکی در پایتون که بتواند بهطور خودکار ایمیل ارسال کند، میتوانیم از کتابخانههای tkinter برای رابط کاربری و smtplib برای ارسال ایمیل استفاده کنیم. در زیر یک نمونه کد ساده برای این کار آورده شده است:
🔴🔴🔴 کد برنامه python
import tkinter as tk from tkinter import messagebox import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def send_email(): sender_email = entry_sender.get() receiver_email = entry_receiver.get() password = entry_password.get() subject = entry_subject.get() body = entry_body.get("1.0", tk.END) # ساختن ایمیل msg = MIMEMultipart() msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) try: # اتصال به سرور SMTP و ارسال ایمیل server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(sender_email, password) server.send_message(msg) server.quit() messagebox.showinfo("Success", "Email sent successfully!") except Exception as e: messagebox.showerror("Error", f"Failed to send email: {e}") # ایجاد پنجره اصلی root = tk.Tk() root.title("Email Sender") # ایجاد ورودی ها tk.Label(root, text="Sender Email:").pack() entry_sender = tk.Entry(root, width=40) entry_sender.pack() tk.Label(root, text="Receiver Email:").pack() entry_receiver = tk.Entry(root, width=40) entry_receiver.pack() tk.Label(root, text="Password:").pack() entry_password = tk.Entry(root, show='*', width=40) entry_password.pack() tk.Label(root, text="Subject:").pack() entry_subject = tk.Entry(root, width=40) entry_subject.pack() tk.Label(root, text="Body:").pack() entry_body = tk.Text(root, width=40, height=10) entry_body.pack() # دکمه ارسال send_button = tk.Button(root, text="Send Email", command=send_email) send_button.pack() # اجرای حلقه اصلی root.mainloop()
🔴🔴🔴 توضیحات کد
1. کتابخانهها:
- tkinter برای ساخت رابط کاربری.
- smtplib و email برای ارسال ایمیل.
2. **تابع send_email**:
- ایمیل فرستنده، گیرنده، رمز عبور، موضوع و متن ایمیل را از ورودیها دریافت میکند.
- یک ایمیل با استفاده از MIMEMultipart ساخته و ارسال میکند.
3. رابط کاربری:
- ورودیهای لازم برای ایمیل (فرستنده، گیرنده، رمز عبور، موضوع و متن) ایجاد شدهاند.
- یک دکمه برای ارسال ایمیل وجود دارد.
🔴🔴🔴 نکته امنیتی
برای ارسال ایمیل از حساب Google، ممکن است نیاز باشد تا گزینه "Allow less secure apps" را در تنظیمات حساب Google فعال کنید. همچنین، استفاده از رمزهای عبور اپلیکیشن (App Passwords) نیز توصیه میشود.
🔴🔴🔴 نحوه اجرا
- کد را در یک فایل با پسوند .py ذخیره کنید.
- با اجرای فایل، پنجره گرافیکی برای ارسال ایمیل نمایش داده میشود.
این برنامه یک نمونه ساده است و میتواند بر حسب نیاز شما گسترش یابد یا سفارشی شود./ سعید دامغانیان - رادیو صدای ققنوس