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

Arsal Bryd Alktrwny Bastkhdam Byrl



توجد العديد من الوحدات في Perl لإرسال بريد إلكتروني من نظام التشغيل Ubuntu. وحدة 'Net::SMTP::SSL' هي واحدة منها. مطلوب أي خادم SMTP صالح باسم المستخدم وكلمة المرور الصحيحين لإرسال بريد إلكتروني باستخدام وحدة Perl هذه. يتم استخدام خادم SMTP لحساب Gmail واسم المستخدم وكلمة المرور الصالحين في هذا البرنامج التعليمي لإرسال بريد إلكتروني باستخدام البرنامج النصي Perl من نظام التشغيل Ubuntu. ومع ذلك، يتطلب حساب Gmail بعض التكوينات لإرسال البريد الإلكتروني باستخدام خادم Gmail SMTP. يعد خيار 'التطبيق الأقل أمانًا' لأي حساب Gmail مطلوبًا لتمكين إرسال البريد الإلكتروني باستخدام خادم Gmail SMTP. ولكن تمت إزالة هذا الخيار لحساب Gmail اعتبارًا من عام 2022. والآن، يتعين عليك تعيين 'كلمة مرور التطبيق' لحساب Gmail لإرسال رسائل البريد الإلكتروني. يجب عليك تعيين كلمة المرور هذه لحساب Gmail الذي سيتم استخدامه لإرسال رسائل البريد الإلكتروني قبل ممارسة أمثلة هذا البرنامج التعليمي.

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

يتم عرض طرق إرسال بريد إلكتروني باستخدام خادم Gmail SMTP وحساب Gmail في هذا الجزء من البرنامج التعليمي.

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

قم بإنشاء ملف Perl باستخدام البرنامج النصي التالي الذي يرسل رسالة بريد إلكتروني نصية بسيطة باستخدام خادم Gmail SMTP. يجب عليك تعيين عنوان البريد الإلكتروني الصالح وكلمة المرور التي تم تعيينها لكلمة مرور التطبيق في متغيرات $username و$password. يتم تعيين اسم المستخدم وكلمة المرور الوهميين في البرنامج النصي. لن يتم إرسال البريد الإلكتروني إذا لم يتم تكوين كلمة مرور التطبيق بشكل صحيح. بعد ذلك، قم بتعيين عناوين البريد الإلكتروني للمستلم والمرسل الصالحين على المتغيرين $to و$from للتحقق من إرسال البريد الإلكتروني بشكل صحيح. الجزء الآخر من البرنامج النصي يبقى دون تغيير. يتم إرسال رسالة نصية بسيطة إلى عنوان البريد الإلكتروني للمستلم إذا كان خادم SMTP متصلاً وتمت مصادقة معلومات المستخدم بنجاح.







#!/usr/bin/Perl

# استيراد الوحدات الضرورية
استخدام صارم ;
استخدم Net::SMTP::SSL ;

#Declare روتين فرعي لإرسال البريد الإلكتروني باستخدام خادم Gmail
إرسال البريد الإلكتروني الفرعي
{

#اسم المستخدم وكلمة المرور للمصادقة
اسم المستخدم الخاص بي $ = 'اسم المستخدم@gmail.com' ;
كلمة المرور الخاصة بي $ = 'كلمة مرور التطبيق' ;

# تهيئة المتغيرات لإرسال البريد الإلكتروني
بلدي $ ل = 'استقبال@gmail.com' ;
بلدي $ من = 'مهير نيجار ' ;
موضوعي $ = 'إنها رسالة بريد إلكتروني تجريبية' ;
رسالتي $ = 'مرحبًا، إرسال البريد الإلكتروني باستخدام لغة Perl.' ;

# قم بتعريف متغير SMTP
بلدي $smtpServer ;

# تواصل مع خادم Gmail smtp
لو ( لا $smtpServer = صافي::SMTP::SSL- > جديد ( 'smtp.gmail.com' , ميناء => 465 , تصحيح => 1 ) )
{
ال ''غير قادر على الاتصال بخادم SMTP. ' ;
}

#التحقق من صحة اسم المستخدم وكلمة المرور
$smtpServer- > مصادقة ( اسم المستخدم $ , كلمة المرور $ ) || ال 'خطأ مصادقة. ' ;

$smtpServer- > بريد ( $من. ' ' ) ;
$smtpServer- > ل ( $ل. ' ' ) ;
$smtpServer- > بيانات ( ) ;
$smtpServer- > datasend ( 'من: ' . $ من . ' ' ) ;
$smtpServer- > datasend ( 'ل: ' . $ إلى . ' ' ) ;
$smtpServer- > datasend ( 'موضوع: ' . $الموضوع . ' ' ) ;
$smtpServer- > datasend ( ' ' ) ;

}

# استدعاء الروتين الفرعي

&ارسل بريد الكتروني ( ) ;

انتاج:



تظهر المعلومات المشابهة التالية في بداية الإخراج بعد تنفيذ البرنامج النصي إذا تم إرسال البريد الإلكتروني بنجاح:







عند فتح عنوان البريد الإلكتروني للمستلم، ستتلقى البريد الإلكتروني التالي في صندوق الوارد:

مثال 2: إرسال بريد إلكتروني بتنسيق HTML

قم بإنشاء ملف Perl باستخدام البرنامج النصي التالي الذي يرسل بريدًا إلكترونيًا بتنسيق HTML باستخدام خادم Gmail SMTP. يجب عليك تعيين عنوان بريد إلكتروني وكلمة مرور صالحين كما في المثال السابق. بعد ذلك، قم بتعيين عناوين البريد الإلكتروني للمستلم والمرسل الصالحة. تتم إضافة كود HTML كرسالة بريد إلكتروني في البرنامج النصي. يتم تعيين نوع محتوى البريد الإلكتروني على text/html لإرسال البريد الإلكتروني بتنسيق HTML. الجزء الآخر من البرنامج النصي هو نفس المثال السابق. يتم إرسال بريد إلكتروني بتنسيق HTML إلى عنوان البريد الإلكتروني للمستلم إذا كان خادم SMTP متصلاً وتمت مصادقة معلومات المستخدم بنجاح.

#!/usr/bin/Perl

# استيراد الوحدات الضرورية
استخدام صارم ;
استخدم Net::SMTP::SSL ;

#Declare روتين فرعي لإرسال البريد الإلكتروني باستخدام خادم Gmail
إرسال البريد الإلكتروني الفرعي
{
#اسم المستخدم وكلمة المرور للمصادقة
اسم المستخدم الخاص بي $ = 'اسم المستخدم@gmail.com' ;
كلمة المرور الخاصة بي $ = 'كلمة مرور التطبيق' ;

# تهيئة المتغيرات لإرسال البريد الإلكتروني
بلدي $ ل = 'استقبال@gmail.com' ;
بلدي $ من = 'مهير نيجار ' ;
موضوعي $ = 'أكملت تسجيل' ;
رسالتي $ = '

مرحبًا بك في موقعنا

'
;

# قم بتعريف متغير SMTP
بلدي $smtpServer ;

# تواصل مع خادم Gmail smtp
لو ( لا $smtpServer = صافي::SMTP::SSL- > جديد ( 'smtp.gmail.com' , ميناء => 465 , تصحيح => 1 ) )
{
ال ''غير قادر على الاتصال بخادم SMTP. ' ;
}

#التحقق من صحة اسم المستخدم وكلمة المرور
$smtpServer- > مصادقة ( اسم المستخدم $ , كلمة المرور $ ) || ال 'خطأ مصادقة. ' ;

$smtpServer- > بريد ( $من. ' ' ) ;
$smtpServer- > ل ( $ل. ' ' ) ;
$smtpServer- > بيانات ( ) ;
$smtpServer- > datasend ( 'من: ' . $ من . ' ' ) ;
$smtpServer- > datasend ( 'ل: ' . $ إلى . ' ' ) ;
$smtpServer- > datasend ( 'موضوع: ' . $الموضوع . ' ' ) ;

# قم بتعيين نوع محتوى البريد الإلكتروني على HTML لإرسال بريد إلكتروني بتنسيق html
$smtpServer- > datasend ( 'نوع المحتوى: نص/html؛ مجموعة الأحرف = utf-8 ' ) ;
$smtpServer- > datasend ( رسالة $. ' ' ) ;
$smtpServer- > نهاية البيانات ( ) ;
$smtpServer- > يترك ;

}

# استدعاء الروتين الفرعي

&ارسل بريد الكتروني ( ) ;

انتاج:



تظهر المعلومات المشابهة التالية في بداية الإخراج بعد تنفيذ البرنامج النصي إذا تم إرسال البريد الإلكتروني بنجاح:







عند فتح عنوان البريد الإلكتروني للمستلم، ستتلقى البريد الإلكتروني التالي في صندوق الوارد:





خاتمة

لم تعد طرق إرسال بريد إلكتروني باستخدام Perl عبر خادم Gmail SMTP سهلة كما كانت من قبل بعد تعطيل 'التطبيق الأقل أمانًا' لحساب Gmail. ولكن يمكنك إرسال بريد إلكتروني عن طريق تعيين كلمة مرور التطبيق الآن.