كيفية إنشاء بريد إلكتروني وإرساله إلى صندوق بريد محدد مع imaplib

StackOverflow https://stackoverflow.com/questions/3769701

  •  04-10-2019
  •  | 
  •  

سؤال

أحاول استخدام Imaplib من Python لإنشاء بريد إلكتروني وإرساله إلى صندوق بريد يحمل اسمًا محددًا ، على سبيل المثال. أي شخص لديه بعض الاقتراحات الرائعة :).

هل كانت مفيدة؟

المحلول

بروتوكول IMAP غير مصمم لإرسال رسائل البريد الإلكتروني. وهي مصممة لمعالجة صناديق البريد.

لإنشاء بريد إلكتروني وإرساله يمكنك استخدام SMTP ، كما هو الحال في smtplib.

لنقل بريد إلكتروني موجود بالفعل في صندوق بريد من مجلد إلى آخر ، يمكنك نسخ البريد إلى المجلد المطلوب وحذفه من القديم باستخدامه باستخدام uid, ، كما في الجواب هنا.

نصائح أخرى

يمكنك استخدام Python المدمج في imaplib الوحدة النمطية و append() أمر لإلحاق رسالة بريد إلى مجلد IMAP:

import imaplib

connection = imaplib.IMAP4_SSL(HOSTNAME)
connection.login(USERNAME, PASSWORD)

new_message = email.message.Message()
new_message["From"] = "hello@itsme.com"
new_message["Subject"] = "My new mail."
new_message.set_payload("This is my message.")

connection.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(new_message))

نظرًا لأنني لا أستطيع التعليق بعد على تعليق user3556956 ، إليك الإجابة على Python3:

connection.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(new_message).encode('utf-8'))

باختصار ، عليك تمرير الرسالة كبايت بدلاً من سلسلة بيثون.

لا فكرة عن كيفية قيامهم بذلك ولكن لا يتيح لك Microsoft Outlook نقل بريد إلكتروني من مجلد محلي إلى مجلد IMAP عن بُعد؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top