بينما يوفر عملاء البريد الإلكتروني التجاريون راحة استخدام واجهة المستخدم الرسومية سهلة الاستخدام ، إلا أنهم غالبًا ما يفتقرون إلى المرونة وقابلية التخصيص التي يرغب العديد من المطورين أو منشئي المحتوى في إرسالها عبر البريد الإلكتروني يحتاج.

سواء كان ذلك لإرسال بريد إلكتروني شكر إلى مشترك جديد على قناة الوسائط الاجتماعية الخاصة بك أو إضافة وظائف البريد الإلكتروني إليها أحدث مشروع لك ، القدرة على إرسال رسائل آلية باستخدام SMTP في Python أمر لا بد أن يأتي سهل.

تابع القراءة لمعرفة كيف يمكنك الحصول على برنامج نصي بلغة Python لإرسال رسائل بريد إلكتروني تعمل على جهازك اليوم.

ما هو SMTP؟

ببساطة ، SMTP ، أو بروتوكول نقل البريد البسيط ، هو بروتوكول اتصال لخوادم البريد لنقل البريد الإلكتروني عبر الإنترنت.

إنه جزء لا يتجزأ من طبقة التطبيق الخاصة بمجموعة TCP / IP ، وهي مجموعة من البروتوكولات المستخدمة للاتصال عبر الإنترنت أو شبكات أخرى مماثلة. في شبكة يتم فيها تنفيذ SMTP ، تُعرف العملية باسم تخزين وإعادة توجيه يساعد في نقل البريد عبر الشبكات.

في كل نقطة نهاية ، يستخدم البرنامج المعروف باسم Mail Transfer Agent (MTA) المخزن وإعادة التوجيه لتسهيل الاتصال بين خوادم SMTP المشاركة. وبالتالي ، فإن الدور الرئيسي لـ SMTP هو ببساطة إملاء مكان وكيفية انتقال البريد من نقطة إلى أخرى في الشبكة.

instagram viewer

ابدء

يجب أن يكون لديك حساب بريد إلكتروني لاستخدامه في إرسال رسائل البريد الإلكتروني باستخدام هذا البرنامج. هذا لأننا سنستخدم خدمة SMTP لعميل البريد الإلكتروني لإرسال رسائل البريد الإلكتروني. في هذا البرنامج التعليمي ، سنستخدم Gmail.

يمكنك أيضًا استخدام خادم تصحيح أخطاء SMTP المحلي لإرسال رسائل بريد إلكتروني تجريبية ، ولكن في الوقت الحالي سنستخدم حساب بريد إلكتروني لإرسال رسائل بريد إلكتروني لأنه أكثر سهولة.

من الممكن ببساطة استخدام حساب Gmail موجود ، ولكن عندما تتلاعب ببرنامجك ، قد يتم ملؤه قريبًا برسائل بريد إلكتروني تجريبية. هذا هو السبب في أننا نوصي بإنشاء حساب "رمي" لغرض الاختبار.

الآن ، قم بتشغيل خيار السماح بالتطبيقات الأقل أمانًا للوصول إلى حساب Gmail الخاص بك. هذا سبب آخر لاستخدام البريد الإلكتروني غير المباشر لأنه لا يُنصح بالتلاعب في إعدادات الخصوصية لبريدك الإلكتروني الأساسي.

كتابة البريد الإلكتروني في بايثون

يأتي Python 3 مثبتًا مسبقًا مع وحدة تسمى smtplib (اختصار لمكتبة smtp) ، والتي يمكن استخدامها للعمل مع خوادم SMTP.

مثل أي وحدة Python أخرى ، فإن أول شيء عليك القيام به هو استيراد smtplib.

استيراد smtplib

تهيئة كائن SMTP

الآن ، يمكنك استخدام smtplib لإنشاء كائن SMTP ، والذي سيوفر لك معظم وظائف عميل البريد الإلكتروني التقليدي. ومع ذلك ، لا يمكن استخدام وظائف كائن SMTP إلا عبر طرق المثيل. لذلك ، بطبيعة الحال ، فإن الخطوة التالية هي التصريح عن مثيل كائن.

mySMTP = smtplib. SMTP ("smtp.google.com") 

يؤدي هذا إلى تكوين كائن SMTP لإرسال رسائل البريد الإلكتروني باستخدام خادم SMTP الخاص بـ Google.

بعد ذلك ، نحدد رسائل البريد الإلكتروني المرسل والمستلم. هذا هو المكان الذي يكون فيه حساب Gmail الذي قمت بإنشائه مسبقًا مفيدًا.

emailSender = "[email protected]"
myThroaway = "[email protected]"
emailRecipients = [myThroaway]

شيء واحد يجب ملاحظته هنا هو أن قائمة المستلمين هي في الواقع مصفوفة ، مما يعني أنها مصممة لتخزين القيم غير الذرية. نتيجة لذلك ، يمكنك تحديد قائمة بريدية كاملة في هذا المجال!

كتابة الرسالة

يمكن القول إن الجزء الأكثر مباشرة من العملية ، هنا يجب عليك إدخال القيم التي تضيفها عادةً عند إنشاء بريد إلكتروني جديد. هذا يشمل:

  • تفاصيل المرسل
  • تفاصيل المستلم
  • موضوعات
  • نص الرسالة

يتم وضع هذه الحقول معًا داخل علامات اقتباس ثلاثية ويتم ترسيم حدودها على النحو التالي:

newEmail = من: من شخص 
إلى: إلى شخص
الموضوع: اختبار البريد الإلكتروني
هذا هو نص البريد الإلكتروني.

إرسال البريد الإلكتروني

أخيرًا ، يمكننا استخدام الأمر sendmail لإرسال البريد من خادم SMTP إلى خادم المستلم.

mySMTP.sendmail (البريد الإلكتروني المرسل ، ومستلمي البريد الإلكتروني ، والبريد الإلكتروني الجديد)

الآن ، هناك خطوة أخيرة واحدة فقط: إعادة تنظيم الكود لمنع أي أعطال يمكن توقعها في البرنامج.

استكشاف أخطاء برنامج البريد الإلكتروني Python وإصلاحها

في بعض الأحيان ، قد يفشل خادم SMTP في إنشاء اتصال مع المستلم ، أو قد تكون هناك مشكلة في إرسال بريد إلكتروني من منفذ SMTP إلى آخر. في مثل هذا الحدث ، قد يتعطل برنامجك بشكل غير متوقع.

لحساب هذه الاحتمالات ، يمكنك استخدام ملف حاول باستثناء block ووضع العبارات المعرضة للخطأ داخل ملف يحاول منع. يجب أن يبدو برنامجك بالكامل ، جنبًا إلى جنب مع كتلة try-except ، على النحو التالي:

استيراد smtplib
emailSender = "[email protected]"
myThroaway = "[email protected]"
emailRecipients = [myThroaway]
newEmail = من: من شخص
إلى: إلى شخص
الموضوع: اختبار البريد الإلكتروني
هذا هو نص البريد الإلكتروني.

يحاول:
smtpObj = smtplib. SMTP ("smtp.gmail.com")
mySMTP.sendmail (البريد الإلكتروني المرسل ، ومستلمي البريد الإلكتروني ، والبريد الإلكتروني الجديد)
طباعة ("تم إرسال البريد الإلكتروني بنجاح!")
باستثناء SMTPException:
print ("خطأ: حدث خطأ في إرسال بريدك الإلكتروني.")

تأمين رسائل البريد الإلكتروني الخاصة بك

إذا كنت تنوي استخدام Python في بيئة حقيقية لإرسال رسائل البريد الإلكتروني ، فمن المهم التأكد من أن الاتصال آمن من كلا الطرفين.

لا يوفر استخدام خادم SMTP بسيط مع المنفذ الافتراضي أي طبقة تشفير للاتصال. هذا يعني أنه إذا كان أي طرف ثالث يستمع إلى شبكتك ، فيمكنه الوصول إلى بيانات اعتماد تسجيل الدخول الخاصة بك والمعلومات الواردة في بريدك الإلكتروني.

تتمثل إحدى طرق التحايل على هذه المشكلة في استخدام بروتوكول TLS (أمان طبقة النقل) لتشفير اتصالك. هذا هو نفس البروتوكول المستخدم من قبل عملاء البريد الإلكتروني الرئيسيين مثل Gmail و Outlook لضمان عدم وقوع رسائل البريد الإلكتروني في الأيدي الخطأ.

للقيام بذلك ، نحتاج إلى إجراء بعض التغييرات الطفيفة على البرنامج الذي أنشأناه سابقًا.

الخطوة الأولى ، بالطبع ، هي استيراد ملف ssl مكتبة مع smtplib. ال ssl تمنحك المكتبة القدرة على إنشاء سياق SSL آمن والاتصال عبر شبكة مشفرة عن طريق الاتصال بمنافذ محددة على كلا الطرفين.

سياق SSL الآمن ليس سوى مجموعة من الأصفار وإصدارات البروتوكول والشهادات الموثوقة وخيارات TLS وامتدادات TLS.

بعد ذلك ، يمكننا تحديد منفذ TLS وإضافة القليل ssl وظائف المكتبة لإنشاء بريد إلكتروني آمن.

يبدو الرمز ، مع جميع التغييرات التي تم إجراؤها ، على النحو التالي:

استيراد smtplib ، ssl
smtpServer = "smtp.gmail.com"
المنفذ = 587
myEmail = "[email protected]"
كلمة المرور = "my_password"
يمكن أن يكون #email و password أيضًا حقلي إدخال للمستخدم
السياق = ssl.create_default_context ()
newEmail = من: من شخص
إلى: إلى شخص
الموضوع: اختبار البريد الإلكتروني
هذا هو نص البريد الإلكتروني.

يحاول:
الخادم = smtplib. SMTP (خادم SMTP ، منفذ)
server.starttls (السياق = السياق)
server.login (بريد إلكتروني جديد ، كلمة مرور)
باستثناء الاستثناء كـ e:
طباعة ("تعذر إرسال البريد الإلكتروني.")
أخيرا:
server.quit ()

كما كان من قبل ، يجب عليك إنشاء مثيل SMTP واستخدامه في كتلة try-except لمنع أي أعطال مفاجئة للبرنامج.

ماذا يمكنك أن تفعل مع نص بايثون هذا

الآن بعد أن اكتسبت المهارة الرائعة والمفيدة بشكل مدهش لأتمتة رسائل البريد الإلكتروني باستخدام التعليمات البرمجية ، يمكنك تطبيقها على أي نظام أساسي يتطلب إرسال رسائل بريد إلكتروني إلى قائمة بريدية متنوعة.

من استخدامه على موقع الويب الشخصي الخاص بك لإرسال رسائل تأكيد إلكترونية تلقائية إلى استخدامه لإرسال بطاقات عيد الميلاد بالبريد الإلكتروني أو دعوات لعائلتك وأصدقائك ، فإن استخدامات نص Python الصغير هذا محدودة باستخدامك فقط إبداع.

أيضًا ، هذا مجرد واحد من العديد من الأشياء الرائعة التي يمكنك القيام بها باستخدام Python. مع دعم المطورين في كل مكان وبناء الجملة سهل التعلم ، لم يكن اكتساب مهارة Python أسهل من أي وقت مضى.

لمواصلة بناء أشياء رائعة باستخدام الكود ، راجع دليلنا حول كيفية القيام بذلك قم ببناء روبوت Telegram الخاص بك باستخدام Python 3!

بريد الالكتروني
كيفية ترقية مهاراتك في Python و AI باستخدام Keras و Pytorch و Tensorflow والمزيد

قم بترقية مهاراتك في البرمجة وتطوير الويب على Python والذكاء الاصطناعي و Keras و PyTorch والمزيد

مواضيع ذات صلة
  • برمجة
  • بريد جوجل
  • نصائح عبر البريد الإلكتروني
  • بايثون
  • أتمتة المهام
عن المؤلف
ياش شيلاني (8 مقالات منشورة)

ياش هو طالب علوم كمبيوتر طموح يحب بناء الأشياء والكتابة عن كل ما يتعلق بالتكنولوجيا. في أوقات فراغه ، يحب لعب الاسكواش ، وقراءة نسخة من أحدث موراكامي ، ومطاردة التنانين في Skyrim.

المزيد من Yash Chellani

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.