فهرست مطالب:

نحوه ارسال ایمیل با فایل های پیوست با Arduino ، Esp32 و Esp8266: 6 مرحله
نحوه ارسال ایمیل با فایل های پیوست با Arduino ، Esp32 و Esp8266: 6 مرحله

تصویری: نحوه ارسال ایمیل با فایل های پیوست با Arduino ، Esp32 و Esp8266: 6 مرحله

تصویری: نحوه ارسال ایمیل با فایل های پیوست با Arduino ، Esp32 و Esp8266: 6 مرحله
تصویری: چطور فایل های سنگین رو با ایمیل ارسال کنیم 2024, نوامبر
Anonim
نحوه ارسال ایمیل با فایل های پیوست با Arduino ، Esp32 و Esp8266
نحوه ارسال ایمیل با فایل های پیوست با Arduino ، Esp32 و Esp8266

در اینجا می خواهم نسخه 2 کتابخانه EMailSender را توضیح دهم ، یک تحول بزرگ در نسخه 1 ، با پشتیبانی از Arduino با w5100 ، w5200 و w5500 سپر اترنت و دستگاههای کلون enc28J60 ، و پشتیبانی از esp32 و esp8266.

اکنون می توانید پیوست هایی را که از دستگاه ذخیره سازی مانند SD یا SPIFFS بارگیری شده اند نیز اضافه کنید. در اینجا استفاده از اترنت آردوینو.

تدارکات

  • آردوینو مگا
  • enc28J60
  • کارت SD

مرحله 1: Correct Device ENC28J60 یا W5100 Series را انتخاب کنید

Correct Device ENC28J60 یا W5100 Series را انتخاب کنید
Correct Device ENC28J60 یا W5100 Series را انتخاب کنید

به طور معمول ، آردوینو ، شبکه را با دستگاه خارجی مدیریت می کند ، دستگاه استاندارد مانند w5100 از کتابخانه اترنت استفاده می کند ، کلون های ENC28J60 دارای چند کتابخانه برای انتخاب هستند.

برای انتخاب دستگاه خود باید به فایل کتابخانه EMailSenderKey.h بروید و فایل صحیح را تنظیم کنید

#تعریف DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // پیش فرض

کتابخانه بارگذاری شده برای مدیریت این نوع دستگاه UIPEthernet است ، می توانید کتابخانه را در کتابخانه مدیر Arduino IDE پیدا کنید

یا می توانید نوع شبکه پیش فرض را تغییر دهید

#تعریف DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

این استاندارد پیاده سازی و استفاده از کتابخانه اترنت است.

نکته مهمی که باید به آن توجه شود این است که این محافظ اترنت از SSL یا TLS پشتیبانی نمی کند ، بنابراین باید SMTP ارائه دهنده ای را پیدا کنید که بدون این نوع ثبت نام ، اتصال SMTP ارائه دهد.

من در انجمن موضوعی ایجاد می کنم که در آن می توانید ارائه دهنده مورد استفاده خود را اضافه کنید ، همچنین می توانید موضوع مورد نظر خود را نیز بیابید.

مرحله 2: ارسال ایمیل ساده

ارسال ایمیل ساده
ارسال ایمیل ساده

برای ارسال ایمیل با Arduino باید ارائه دهنده ای را پیدا کنید که بدون SSL یا TLS کار کند ، برای راه حل من از ارائه دهنده SendGrid استفاده می کنم.

من فکر می کنم استفاده از آن بسیار بسیار ساده است.

بنابراین باید ارائه دهنده را تنظیم کنید

EmailSender emailSend ("YOUR-SENDGRID-API-KEY" ، "YOUR-SENDGRID-PASSWD" ، "FROM-EMAIL" ، "smtp.sendgrid.net" ، 25) ؛

از این رو باید پیامی ایجاد کرده و آن را ارسال کنید

EMailSender:: EMailMessage message؛ message.subject = "سوژه"؛ message.message = "Ciao come staiio bene.

EMailSender:: پاسخ resp = emailSend.send ("[email protected]" ، پیام) ؛

Serial.println ("وضعیت ارسال:")؛

Serial.println (resp.status)؛

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

مرحله 3: یک کارت SD را برای مدیریت پیوست ها وصل کنید

یک کارت SD را برای مدیریت پیوست ها وصل کنید
یک کارت SD را برای مدیریت پیوست ها وصل کنید

در صورت نیاز به اطلاعات بیشتر در مورد اتصال به این مقاله "نحوه استفاده از کارت SD با esp8266 ، esp32 و Arduino" ، برای ارسال پیوست ها ، باید یک کارت SD را مانند طرحواره متصل کنید.

مرحله 4: ارسال ایمیل با پیوست

برای ارسال ایمیل با پیوست ها باید ارائه دهنده ای را پیدا کنید که از این قابلیت پشتیبانی می کند ، ارائه دهنده sendgrid من از آن پشتیبانی نمی کند و GMX ارائه دهنده ای که من برای آزمایش استفاده کردم دیگر پشتیبانی نمی کند.

اما اگر ارائه دهنده جدیدی پیدا کردید ، می توانید از این کد برای پیوست فایل ها استفاده کنید.

EMailSender:: FileDescriptior fileDescriptor [1]؛ fileDescriptor [0].filename = F ("test.txt")؛ fileDescriptor [0].url = F ("/test.txt")؛ fileDescriptor [0].mime = MIME_TEXT_PLAIN؛ fileDescriptor [0].encode64 = false؛ fileDescriptor [0].storageType = EMailSender:: EMAIL_STORAGE_TYPE_SD؛

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

EMailSender:: پاسخ resp = emailSend.send ("[email protected]" ، پیام ، پیوست) ؛

مرحله 5: نتیجه

نتیجه
نتیجه

در اینجا ایمیل با ارائه دهنده esp8266 و GMail ارسال می شود (برای استفاده از GMail باید برنامه خارجی را enambe کنید).

مرحله ششم: کتابخانه

می توانید کتابخانه را در GitHub پیدا کنید

و شما باید ویژگی ها را بپرسید یا اشکالات را در انجمن گزارش دهید

اسناد اضافی در اینجا.

توصیه شده: