جدول المحتويات:

كيفية إرسال رسائل البريد الإلكتروني مع المرفقات باستخدام Arduino و Esp32 و Esp8266: 6 خطوات
كيفية إرسال رسائل البريد الإلكتروني مع المرفقات باستخدام Arduino و Esp32 و Esp8266: 6 خطوات

فيديو: كيفية إرسال رسائل البريد الإلكتروني مع المرفقات باستخدام Arduino و Esp32 و Esp8266: 6 خطوات

فيديو: كيفية إرسال رسائل البريد الإلكتروني مع المرفقات باستخدام Arduino و Esp32 و Esp8266: 6 خطوات
فيديو: Sending emails with attachments 2024, شهر نوفمبر
Anonim
كيفية إرسال رسائل البريد الإلكتروني مع المرفقات مع Arduino و Esp32 و Esp8266
كيفية إرسال رسائل البريد الإلكتروني مع المرفقات مع Arduino و Esp32 و Esp8266

هنا أود أن أشرح الإصدار 2 من مكتبتي EMailSender ، وهو تطور كبير فيما يتعلق بالإصدار 1 ، مع دعم Arduino مع درع إيثرنت w5100 و w5200 و w5500 وأجهزة استنساخ enc28J60 ودعم esp32 و esp8266.

يمكنك الآن إضافة المرفقات أيضًا ، محملة من جهاز تخزين مثل SD أو SPIFFS. هنا استخدام اردوينو إيثرنت.

اللوازم

  • اردوينو ميجا
  • enc28J60
  • بطاقة الذاكرة

الخطوة 1: حدد تصحيح الجهاز ENC28J60 أو سلسلة W5100

حدد تصحيح الجهاز ENC28J60 أو سلسلة W5100
حدد تصحيح الجهاز ENC28J60 أو سلسلة W5100

عادةً ما يدير Arduino الشبكة بجهاز خارجي ، حيث يستخدم الجهاز القياسي مثل w5100 مكتبة Ethernet ، حيث تحتوي النسخ ENC28J60 على بعض المكتبات للاختيار من بينها.

لتحديد جهازك ، يجب عليك الانتقال إلى ملف مكتبة EMailSenderKey.h وتعيين الملف الصحيح

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // افتراضي

المكتبة التي تم تحميلها لإدارة هذا النوع من الأجهزة هي UIPEthernet ، يمكنك العثور على المكتبة في مدير مكتبة Arduino IDE

أو يمكنك تغيير نوع الشبكة الافتراضي

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

هذا هو التنفيذ القياسي واستخدام مكتبة Ethernet.

هناك فكرة مهمة يجب مراعاتها وهي أن درع Ethernet هذا لا يدعم SSL أو TLS ، لذلك يجب عليك العثور على مزود SMTP يوفر اتصال SMTP بدون هذا النوع من التوحيد.

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

الخطوة الثانية: إرسال بريد إلكتروني بسيط

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

لإرسال بريد إلكتروني باستخدام Arduino ، يجب أن تجد مزودًا يعمل بدون SSL أو TLS ، بالنسبة للحل الذي أستخدمه مع مزود SendGrid.

أعتقد أن الاستخدام بسيط للغاية.

لذلك يجب عليك تعيين المزود

إرسال بريد إلكتروني للمرسل ("YOUR-SENDGRID-API-KEY" ، "YOUR-SENDGRID-PASSWD" ، "FROM-EMAIL" ، "smtp.sendgrid.net" ، 25) ؛

مما يجب عليك إنشاء رسالة وإرسالها

إرسال بريد إلكتروني:: رسالة بريد إلكتروني ؛ message.subject = "Soggetto" ؛ message.message = "Ciao تعال ستايو بيني.

EMailSender:: Response resp = emailSend.send ("[email protected]" ، رسالة) ؛

Serial.println ("حالة الإرسال:") ؛

Serial.println (resp.status) ؛

Serial.println (Resp.code) ؛ Serial.println (resp.desc) ؛

الخطوة 3: قم بتوصيل عربة SD لإدارة المرفقات

قم بتوصيل عربة SD لإدارة المرفقات
قم بتوصيل عربة SD لإدارة المرفقات

بدلاً من إرسال المرفقات ، يجب عليك توصيل بطاقة SD كما هو الحال في المخطط ، إذا كنت بحاجة إلى مزيد من المعلومات حول الاتصال ، فراجع هذه المقالة "كيفية استخدام بطاقة SD مع esp8266 و esp32 و Arduino".

الخطوة 4: إرسال بريد إلكتروني مع المرفقات

لإرسال بريد إلكتروني يحتوي على مرفقات ، يجب أن تجد مزودًا يدعم هذه الوظيفة ، ومزود sendgrid الخاص بي لا يدعم ذلك ولا يدعم GMX المزود الذي استخدمته للاختبار المزيد من الدعم.

ولكن إذا وجدت مزودًا جديدًا ، يمكنك استخدام هذا الرمز لإرفاق الملفات.

إرسال بريد إلكتروني:: FileDescriptior fileDescriptor [1]؛ fileDescriptor [0].filename = F ("test.txt") ؛ fileDescriptor [0].url = F ("/ test.txt") ؛ fileDescriptor [0].mime = MIME_TEXT_PLAIN ، fileDescriptor [0].encode64 = خطأ ؛ fileDescriptor [0].storageType = مرسل البريد الإلكتروني:: EMAIL_STORAGE_TYPE_SD؛

EMailSender:: Attachments attachments = {1، fileDescriptor}؛

EMailSender:: Response resp = emailSend.send ("[email protected]" ، رسالة ، المرفقات) ؛

الخطوة 5: النتيجة

النتيجة
النتيجة

هنا يتم إرسال البريد الإلكتروني مع موفر esp8266 و GMail (لاستخدام GMail ، يجب أن تقوم بتثبيت برنامج خارجي).

الخطوة 6: المكتبة

يمكنك العثور على المكتبة على GitHub

ويجب عليك طرح ميزات أو الإبلاغ عن الأخطاء في المنتدى

وثائق إضافية هنا.

موصى به: