با استفاده از پایتون یک ایمیل بسازید که هدرها با MIMEMultipart تنظیم شده و در بدنه یک رشته JSON از یک دیکشنری داده‌ٔ نمونه قرار دارد و یک فایل CSV از لیست داده‌ها به‌عنوان پیوست اضافه شود.

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:34

0.0

در این مسئله با ماژول‌های email.mime (مثل MIMEMultipart، MIMEText، MIMEBase) و ماژول json و csv کار کنید: یک دیکشنری نمونه را با json.dumps به رشته JSON تبدیل و با MIMEText و نوع مناسب (مثلاً application/json یا plain) به بدنه اضافه کنید، سپس با csv و io.StringIO محتوای CSV را بسازید و آن را در یک MIMEBase با encode_base64 پیوست کنید و هدرهای From، To و Subject را روی شیء MIMEMultipart تنظیم کنید. برای ارسال اختیاری می‌توانید از smtplib استفاده کنید؛ نکته‌ها: از encoders.encode_base64 برای پیوست باینری استفاده کنید، هدر Content-Disposition را با filename تنظیم کنید و این روش برای گزارش‌های کوچک داده‌ای در پروژه‌های Data Science یا ارسال خروجی از یک وب‌اپ کاربردی است.

توسط پژوهشگر در 202 روز قبل ساعت 02:34
دسته بندی ها: Python Python for beginner
reyhaneh در 202 روز قبل ساعت 09:11

برای ساختن ایمیل با MIMEMultipart، بهتر است بدنه را با MIMEText از رشته JSON خروجیِ dict تبدیل‌شده با json.dumps بسازید و نوع آن را application/json مشخص کنید. پیوست CSV را با ساختن داده‌ها در io.StringIO، سپس محتوای متن CSV را به بایت تبدیل کرده و آن را در یک MIMEBase با نوع مناسب پیوست کنید و encoders.encode_base64 را به کار بگیرید تا پیوست رمزگذاری شود. حتماً Content-Disposition با filename مناسب تنظیم و هدرهای From، To و Subject روی شیء MIMEMultipart ست شوند تا ایمیل به درستی نمایش داده شود. اگر قصد ارسال دارید، از smtplib با starttls یا TLS استفاده کنید تا ارتباط امن باشد و به خاطر داشته باشید که ensure_ascii=False را در json.dumps برای کاراکترهای غیر لاتین در نظر بگیرید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری