أثناء إنشاء التطبيقات ، ستحتاج إلى إرسال رسائل بريد إلكتروني لأغراض مختلفة ، من الإشعارات إلى المصادقة ، وغير ذلك الكثير. يوفر Go ملف بروتوكول SMTP و بريد حزم في مكتبتها القياسية لإرسال البريد الإلكتروني. هناك أيضًا العديد من حزم البريد الإلكتروني للجهات الخارجية في نظام Go.
تجعل حزم البريد المضمنة إرسال البريد الإلكتروني مهمة معقدة. إذا لم تكن مطور تطبيقات من جانب الخادم ، فقد تجد ملف بروتوكول SMTP و بريد الحزم صعبة الاستخدام والتكوين.
أحد البدائل الشعبية هو جوردان رايت بريد إلكتروني الحزمة التي تلخص مدى تعقيد إرسال البريد. كما أنه يضيف ميزات لن تجدها في ملف بروتوكول SMTP و بريد الحزم.
الشروع في استخدام حزمة البريد الإلكتروني
ال بريد إلكتروني الحزمة عبارة عن مكتبة خفيفة الوزن وقوية ومرنة تشتهر ببساطتها. باستخدام بضعة أسطر من التعليمات البرمجية ، يمكنك إنشاء بريد إلكتروني وإرساله مع المرفقات ومحتوى HTML والمزيد. تدعم الحزمة أيضًا ميزات متقدمة مثل اتصالات SMTP الآمنة وتعدد المستلمين ، مما يجعلها أداة متعددة الاستخدامات لاحتياجات بريدك الإلكتروني.
تدعم حزمة البريد الإلكتروني أيضًا حقول CC و BCC وعناوين البريد الإلكتروني بتنسيقات متعددة وإيصالات الاستلام والرؤوس المخصصة.
نظرًا لأن الحزمة ليست مضمنة في مكتبة Go القياسية ، فستحتاج إلى تثبيتها باستخدام ملف إذهب احضر يأمر. تدعم حزمة البريد الإلكتروني إصدارات Go 1.15 وما فوق.
قم بتشغيل هذا الأمر لتثبيت الحزمة على تبعيات مشروعك بعد تهيئة مشروع جديد.
يذهب احصل على github.com/jordan-wright/email
بمجرد تثبيت حزمة البريد الإلكتروني ، يمكنك استيرادها عن طريق تحديد الموقع المتعلق بمسار التثبيت الخاص بك:
يستورد (
"FMT"
"github.com/jordan-wright/email"
"net / smtp"
)
ستستخدم ملف fmt حزمة لطباعة الإخراج إلى وحدة التحكم و بروتوكول SMTP الحزمة لأغراض المصادقة.
إرسال رسائل البريد الإلكتروني مع حزمة البريد الإلكتروني
ستحتاج إلى إعلان المتغيرات لتخزين البيانات لبريدك. قم بتعريف المتغيرات الخاصة ببريدك الإلكتروني وكلمة مرورك.
البريد: = "بريدك الالكتروني"
كلمة المرور: = "كلمة مرور التطبيق"
يمكنك ترميز كلمة المرور أو ملفات استخدام ملف متغير البيئة لتحسين الأمن.
ال بريد و كلمة المرور يجب أن تحتوي المتغيرات على بريدك الإلكتروني وكلمة المرور على التوالي.
ستحتاج إلى إعلان المتغيرات الخاصة بعنوان المضيف ورقم المنفذ للبريد. إليك عنوان المضيف ورقم المنفذ لبريد Yahoo:
hostAddress: = "smtp.mail.yahoo.com"
hostPort: = "465"
ستحتاج أيضًا إلى إنشاء مثيل بريد إلكتروني جديد لإرسال رسائل بريد إلكتروني باستخدام بريد إلكتروني طَرد. يمكنك استخدام طريقة البريد الإلكتروني الجديد لملف بريد إلكتروني الحزمة لتهيئة مثيل بريد إلكتروني لبريدك:
newEmail: = البريد الإلكتروني. بريد إلكتروني جديد()
ال بريد إلكتروني جديد يقوم التابع بإرجاع مثيل هيكلي يمكنك تعديله لعناصر بريدك الإلكتروني.
يمكنك استخدام ال من و ل حقول البنية لإضافة رسائل البريد الإلكتروني الخاصة بالمرسل والمستلم إلى مثيل بريدك الإلكتروني.
بريد إلكتروني جديد. من = بريد
بريد إلكتروني جديد. إلى = []خيط{"قائمة المستلمين"}
ال ل الحقل عبارة عن شريحة من السلاسل ذات سعة غير محدودة يمكنك استخدامها للإعلان عن جميع عناوين المستلمين.
يمكنك إضافة ملفات نسخة و نسخة مخفية الوجهة حقول البريد الإلكتروني الخاص بك باستخدام نسخة مخفية الوجهة و نسخة مجالات مثيل الهيكل:
بريد إلكتروني جديد. نسخة مخفية الوجهة = []خيط{"قائمة نسخة مخفية الوجهة"}
بريد إلكتروني جديد. نسخة إلى []خيط{"قائمة نسخة"}
بالنسبة لمحتويات البريد ، يمكنك إضافة محتوى الرسالة والموضوع والنص الخاص بك باستخدام امتداد موضوع و نص مجالات الهيكل. الموضوع عبارة عن حقل سلسلة ، ومحتوى النص عبارة عن شريحة بايت.
بريد إلكتروني جديد. الموضوع = "موضوع البريد الإلكتروني"
بريد إلكتروني جديد. نص = []بايت("نص بريدك الإلكتروني")
بعد إضافة جميع الحقول المطلوبة ، يمكنك إرسال البريد الإلكتروني باستخدام ملف يرسل طريقة مثيل البريد الإلكتروني الخاص بك. ال يرسل يأخذ الأسلوب عنوان المضيف ورقم منفذ المضيف ومثيل بروتوكول SMTP الحزمة عادي.
يخطئ: = البريد الإلكتروني الجديد. يرسل(
FMT. سبرينتف ("٪ s:٪ s"، hostAddress ، hostPort) ،
بروتوكول SMTP. PlainAuth (""، mail، password، hostAddress)
)
لو يخطئ! لا شيء {
FMT. Println ("حدث خطأ أثناء إرسال البريد")
} آخر {
FMT. Println ("تم إرسال البريد بنجاح")
}
ال يرسل طريقة إرجاع خطأ يمكنك التعامل معه أو لا شيء إذا لم تكن هناك أخطاء.
لقد نجحت في إرسال بريد باستخدام بريد إلكتروني حزمة تحتوي على عدد أقل من الأسطر مما يجب أن تكتب إليه إرسال بريد مع بروتوكول SMTP طَرد.
يمكنك إرسال البريد باستخدام حزمة SMTP المضمنة
Go هي لغة مخططة جيدًا نظرًا لأن مكتبتها القياسية مزودة بمعظم الوظائف التي ستحتاج إليها لإنشاء تطبيقات ويب كاملة بدون تبعيات خارجية أو حزم تابعة لجهات خارجية.
ال بروتوكول SMTP تأتي الحزمة في متناول اليد لإرسال رسائل البريد الإلكتروني عبر خدمات مختلفة ذات وظائف مماثلة لـ بريد إلكتروني طَرد.