To send a table as the body of an email in Python, you can format the table as HTML and then pass it to your sendMail
function. Here’s how you can do it:
pythonfrom tabulate import tabulate
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# Example table data
table_data = [
["Attenuation", "Avg Ping RTT in ms", "TCP UP"],
[60, 2.31, 106.143],
[70, 2.315, 103.624]
]
# Convert table data to HTML format
html_table = tabulate(table_data, headers="firstrow", tablefmt="html")
# Function to send email
def sendMail(to_addr, from_addr, mail_subject, mail_body, file_name=None):
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = ', '.join(to_addr)
msg['Subject'] = mail_subject
# Attach HTML table to email body
msg.attach(MIMEText(mail_body, 'html'))
# Send email
with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
smtp.starttls()
smtp.login(from_addr, 'your_password_here') # Use app password if using Gmail
smtp.sendmail(from_addr, to_addr, msg.as_string())
# Example usage
to_addr = ['[email protected]']
from_addr = '[email protected]'
mail_subject = 'Table in Email Body'
mail_body = html_table
sendMail(to_addr, from_addr, mail_subject, mail_body)
Replace '[email protected]'
with your email address and 'your_password_here'
with your email password or app password if using Gmail. Make sure to enable less secure apps access in your email settings or use app passwords for Gmail.
-
مقارنة: Rancher vs Kubernetes30/03/2024
المزيد من المعلومات
لإرسال جدول كجزء من جسم البريد الإلكتروني في Python، يمكنك استخدام مكتبة tabulate
لتنسيق الجدول كـ HTML، ثم إضافته إلى جسم البريد الإلكتروني كـ HTML. بالنسبة لوظيفة sendMail
التي تم إنشاؤها، يمكنك استخدام مكتبة smtplib
لإرسال البريد الإلكتروني. يجب أن تكون قادرًا على تعديل وظيفة sendMail
لتناسب الاحتياجات الخاصة بك من حيث تكوين الخادم الصادر ومعلومات البريد الإلكتروني.
تحتاج أيضًا إلى تمكين الوصول للتطبيقات الأقل أمانًا في إعدادات حساب البريد الإلكتروني الخاص بك أو استخدام كلمات مرور التطبيق إذا كنت تستخدم Gmail. وللتذكير، يُفضل استخدام SMTP over SSL/TLS (بواسطة smtplib) لتأمين اتصالك بخادم البريد الإلكتروني.
يرجى ملاحظة أن كلمات المرور الخاصة بالبريد الإلكتروني ليست مأمونة بنفس القدر كما يجب أن تكون، لذا يجب توخي الحذر عند استخدامها في التطبيقات.