שלח אימייל באמצעות Perl

Slh Ymyyl B Mz Wt Perl



מודולים רבים קיימים ב-Perl כדי לשלוח מייל ממערכת ההפעלה של אובונטו. מודול 'Net::SMTP::SSL' הוא אחד מהם. כל שרת SMTP חוקי עם שם המשתמש והסיסמה הנכונים נדרש כדי לשלוח דואר אלקטרוני באמצעות מודול Perl זה. שרת ה-SMTP של חשבון Gmail ושם המשתמש והסיסמה החוקיים משמשים במדריך זה לשליחת דואר אלקטרוני באמצעות סקריפט Perl ממערכת ההפעלה אובונטו. עם זאת, חשבון Gmail דורש כמה תצורות כדי לשלוח את האימייל באמצעות שרת ה-SMTP של Gmail. האפשרות 'אפליקציה פחות מאובטחת' של כל חשבון Gmail נדרשת כדי לאפשר שליחת דואר אלקטרוני באמצעות שרת ה-SMTP של Gmail. אבל אפשרות זו של חשבון Gmail מוסרת משנת 2022. כעת, עליך להגדיר את 'סיסמת האפליקציה' של חשבון Gmail כדי לשלוח את המיילים. עליך להגדיר סיסמה זו עבור חשבון Gmail שישמש לשליחת המיילים לפני שתתרגל את הדוגמאות של הדרכה זו.

דוגמאות שונות לשליחת אימייל

השיטות לשליחת אימייל באמצעות שרת ה-SMTP של Gmail וחשבון Gmail מוצגות בחלק זה של המדריך.

דוגמה 1: שליחת הודעת טקסט פשוטה

צור קובץ Perl עם הסקריפט הבא ששולח הודעת טקסט פשוטה באמצעות שרת SMTP של Gmail. עליך להגדיר את כתובת הדוא'ל התקינה ואת הסיסמה המוגדרת עבור סיסמת האפליקציה במשתנים $username ו-$password. שם המשתמש והסיסמה הדמה מוקצים בסקריפט. האימייל לא יישלח אם סיסמת האפליקציה אינה מוגדרת כהלכה. לאחר מכן, הגדר את כתובות הדוא'ל התקפות של המקבל ושל השולח למשתנים $to ו-$from כדי לבדוק אם האימייל נשלח כראוי. החלק השני של התסריט נשאר ללא שינוי. הודעת טקסט פשוטה נשלחת לכתובת הדואר האלקטרוני של המקבל אם שרת ה-SMTP מחובר ופרטי המשתמש מאומתים בהצלחה.







#!/usr/bin/perl

#יבוא מודולים נחוצים
להשתמש קפדני ;
השתמש ב-Net::SMTP::SSL ;

#הצהר על תת שגרת שליחת דואר אלקטרוני באמצעות שרת Gmail
sub sendEmail
{

#שם משתמש וסיסמה לאימות
$username שלי = 'username@gmail.com' ;
הסיסמה $ שלי = 'סיסמת אפליקציה' ;

#אתחל את המשתנים לשליחת דואר אלקטרוני
$to שלי = 'receiver@gmail.com' ;
מה$ שלי = 'Meher Nigar ' ;
הנושא $ שלי = 'זהו מייל לבדיקה' ;
הודעת $ שלי = 'שלום, שליחת אימייל באמצעות Perl.' ;

#הכרז על משתנה smtp
$smtpServer שלי ;

#התחבר לשרת smtp של Gmail
אם ( לֹא $smtpServer = נטו::SMTP::SSL- > חָדָשׁ ( 'smtp.gmail.com' , נמל => 465 , לנפות => 1 ) )
{
ה 'לא ניתן להתחבר לשרת ה-SMTP. \n ' ;
}

#בדוק ששם המשתמש והסיסמה חוקיים
$smtpServer- > אישור ( $username , $password ) || ה 'שגיאת אימות. \n ' ;

$smtpServer- > דוֹאַר ( $ מ. ' \n ' ) ;
$smtpServer- > ל ( $to. ' \n ' ) ;
$smtpServer- > נתונים ( ) ;
$smtpServer- > שלח נתונים ( 'מ: ' . $ מ-. ' \n ' ) ;
$smtpServer- > שלח נתונים ( 'ל: ' . $to . ' \n ' ) ;
$smtpServer- > שלח נתונים ( 'נושא: ' . $subject . ' \n ' ) ;
$smtpServer- > שלח נתונים ( ' \n ' ) ;

}

#התקשר לשגרת המשנה

&שלח אימייל ( ) ;

תְפוּקָה:



המידע הדומה הבא מופיע בתחילת הפלט לאחר ביצוע הסקריפט אם האימייל נשלח בהצלחה:







כאשר תפתח את כתובת האימייל של המקבל, תקבל את המייל הבא בתיבת הדואר הנכנס:

דוגמה 2: שליחת דואר אלקטרוני בפורמט HTML

צור קובץ Perl עם הסקריפט הבא ששולח אימייל בפורמט HTML באמצעות שרת SMTP של Gmail. עליך להגדיר כתובת דוא'ל וסיסמה חוקיים כמו בדוגמה הקודמת. לאחר מכן, הגדר את כתובות הדוא'ל התקפות של המקבל והשולח. קוד ה-HTML מתווסף כהודעת הדואר האלקטרוני בסקריפט. סוג התוכן של האימייל מוגדר לטקסט/html כדי לשלוח את האימייל בפורמט HTML. החלק השני של התסריט זהה לדוגמא הקודמת. דוא'ל בפורמט HTML נשלח לכתובת הדוא'ל של המקבל אם שרת ה-SMTP מחובר ופרטי המשתמש מאומתים בהצלחה.

#!/usr/bin/perl

#יבוא מודולים נחוצים
להשתמש קפדני ;
השתמש ב-Net::SMTP::SSL ;

#הצהר על תת שגרת שליחת דואר אלקטרוני באמצעות שרת Gmail
sub sendEmail
{
#שם משתמש וסיסמה לאימות
$username שלי = 'username@gmail.com' ;
הסיסמה $ שלי = 'סיסמת אפליקציה' ;

#אתחל את המשתנים לשליחת דואר אלקטרוני
$to שלי = 'receiver@gmail.com' ;
מה$ שלי = 'Meher Nigar ' ;
הנושא $ שלי = 'ההרשמה הושלמה' ;
הודעת $ שלי = '

ברוכים הבאים לאתר שלנו

'
;

#הכרז על משתנה smtp
$smtpServer שלי ;

#התחבר לשרת smtp של Gmail
אם ( לֹא $smtpServer = נטו::SMTP::SSL- > חָדָשׁ ( 'smtp.gmail.com' , נמל => 465 , לנפות => 1 ) )
{
ה 'לא ניתן להתחבר לשרת ה-SMTP. \n ' ;
}

#בדוק ששם המשתמש והסיסמה חוקיים
$smtpServer- > אישור ( $username , $password ) || ה 'שגיאת אימות. \n ' ;

$smtpServer- > דוֹאַר ( $ מ. ' \n ' ) ;
$smtpServer- > ל ( $to. ' \n ' ) ;
$smtpServer- > נתונים ( ) ;
$smtpServer- > שלח נתונים ( 'מ: ' . $ מ-. ' \n ' ) ;
$smtpServer- > שלח נתונים ( 'ל: ' . $to . ' \n ' ) ;
$smtpServer- > שלח נתונים ( 'נושא: ' . $subject . ' \n ' ) ;

#הגדר את סוג תוכן הדוא'ל ל-HTML לשליחת דוא'ל בפורמט HTML
$smtpServer- > שלח נתונים ( 'סוג תוכן: text/html; charset=utf-8 \n \n ' ) ;
$smtpServer- > שלח נתונים ( $הודעה. ' \n ' ) ;
$smtpServer- > סוף נתונים ( ) ;
$smtpServer- > לְהַפְסִיק ;

}

#התקשר לשגרת המשנה

&שלח אימייל ( ) ;

תְפוּקָה:



המידע הדומה הבא מופיע בתחילת הפלט לאחר ביצוע הסקריפט אם האימייל נשלח בהצלחה:







כאשר תפתח את כתובת האימייל של המקבל, תקבל את המייל הבא בתיבת הדואר הנכנס:





סיכום

שיטות שליחת האימייל באמצעות Perl דרך שרת ה-SMTP של Gmail אינן קלות כמו בעבר לאחר השבתת 'האפליקציה הפחות מאובטחת' של חשבון Gmail. אבל אתה יכול לשלוח אימייל על ידי הגדרת סיסמת האפליקציה כעת.