gomail

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة
```html

gomail: إرسال البريد الإلكتروني بلغة Go

gomail هي مكتبة قوية وسهلة الاستخدام لإرسال رسائل البريد الإلكتروني بلغة Go (Golang). توفر واجهة مريحة لإنشاء وإرسال الرسائل مع دعم المرفقات، قوالب HTML، عدة مستلمين، والمصادقة عبر SMTP. المكتبة مدعومة بنشاط من قبل المجتمع وتعتبر أحد الحلول القياسية للعمل مع البريد الإلكتروني في نظام Go البيئي.

لماذا نحتاج gomail؟

إرسال البريد الإلكتروني مهمة شائعة في تطبيقات الويب: تسجيل المستخدمين، إعادة تعيين كلمة المرور، الإشعارات، النشرات البريدية. توفر المكتبة القياسية للغة Go (net/smtp) إمكانيات أساسية، ولكنها تتطلب الكثير من العمل اليدوي: ترميز المرفقات، تشكيل رؤوس MIME، العمل مع قوالب HTML. تتولى gomail كل هذه التعقيدات، مما يسمح لك بالتركيز على منطق التطبيق.

التثبيت

يتم التثبيت باستخدام الأمر القياسي go get:

go get gopkg.in/gomail.v2

لاستخدامها في المشروع، قم باستيراد الحزمة:

import "gopkg.in/gomail.v2"

الوظائف الرئيسية

  • إرسال بسيط: كود أدنى لإرسال رسالة نصية أو HTML.
  • دعم المرفقات: يمكن إرفاق الملفات (صور، PDF، مستندات).
  • مستلمون متعددون: To، Cc، Bcc.
  • HTML ونص: دعم رسائل multipart/alternative.
  • المصادقة: دعم LOGIN، PLAIN، CRAM-MD5.
  • رؤوس مخصصة: إمكانية إضافة رؤوسك الخاصة (Reply-To، Message-ID، إلخ).
  • مجموعات البريد: مناسبة للإرسال الجماعي.

مثال كود بلغة Go (Golang)

فيما يلي مثال كامل لإرسال رسالة بمحتوى HTML ومرفق عبر خادم SMTP لجيميل:

package main

import ( "gopkg.in/gomail.v2" "log")

func main() { m := gomail.NewMessage() m.SetHeader("From", "youremail@gmail.com") m.SetHeader("To", "recipient@example.com") m.SetHeader("Subject", "مرحباً من Go!") m.SetBody("text/html", "<h1>أهلاً بكم!</h1><p>هذه رسالة اختبارية.</p>") m.Attach("/path/to/file.pdf")

d := gomail.NewDialer("smtp.gmail.com", 587, "youremail@gmail.com", "yourpassword")

if err := d.DialAndSend(m); err != nil { log.Fatal(err) } log.Println("تم إرسال الرسالة بنجاح")}

متى تستخدم gomail؟

  • عند الحاجة إلى إرسال موثوق للرسائل مع مرفقات وتنسيق HTML.
  • عند إنشاء تطبيقات خادم بلغة Go تتطلب تكاملًا مع إشعارات البريد الإلكتروني.
  • للإرسال الجماعي (باستخدام مجموعة اتصالات).
  • إذا كنت قد سئمت من الترميز اليدوي لـ MIME وتريد كودًا نظيفًا وقابلاً للقراءة.

مكتبة gomail هي اختيار ممتاز لأي مشروع Go يتطلب إرسال البريد الإلكتروني. إنها بسيطة، موثقة، ومغطاة بالاختبارات.

```

توصيات