با استفاده از پایتون یک ایمیل بسازید که هدرها با 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 یا ارسال خروجی از یک وباپ کاربردی است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ساختن ایمیل با 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 برای کاراکترهای غیر لاتین در نظر بگیرید.
گزارش