בעוד שלקוחות דוא"ל מסחריים מציעים את הנוחות של ממשק משתמש ידידותי למשתמש, הם לעתים קרובות חסרים את גמישות והתאמה אישית שאותה מפתחים או יוצרי תוכן רבים רוצים לקבל בדוא"ל שלהם צרכי.

זה היה למשלוח דוא"ל תודה למנוי חדש בערוץ המדיה החברתית שלך או הוספת פונקציונליות דוא"ל ל הפרויקט האחרון שלך, היכולת לשלוח הודעות אוטומטיות באמצעות SMTP ב- Python היא דבר שנכנס להכנס שימושי.

המשך לקרוא כדי לגלות כיצד ניתן להשיג סקריפט של פייתון לשלוח דוא"ל הפועל במחשב שלך עוד היום.

מהו SMTP?

במילים פשוטות, SMTP, או פרוטוקול העברת דואר פשוט, הוא פרוטוקול תקשורת לשרתי דואר להעברת דוא"ל דרך האינטרנט.

זהו חלק בלתי נפרד משכבת ​​היישום של חבילת TCP / IP, שהיא קבוצת פרוטוקולים המשמשים לתקשורת דרך האינטרנט או רשתות דומות אחרות. ברשת בה מיושם SMTP, תהליך המכונה אחסן וקדימה מסייע בהעברת דואר ברשתות.

בכל נקודת קצה, תוכנה המכונה Mail Transfer Agent (MTA) משתמשת ב- store ו- forward כדי לאפשר תקשורת בין שרתי ה- SMTP המשתתפים. התפקיד העיקרי של SMTP, לפיכך, הוא פשוט להכתיב היכן וכיצד דואר עובר מנקודה אחת לאחרת ברשת.

מתחילים

instagram viewer

עליך להשתמש בחשבון דוא"ל כדי להשתמש בו למשלוח דוא"ל באמצעות תוכנית זו. הסיבה לכך היא שאנחנו נשתמש בשירות ה- SMTP של לקוח הדוא"ל לשליחת דוא"ל. לצורך הדרכה זו נשתמש ב- Gmail.

אתה יכול גם להשתמש בשרת איתור באגים ב- SMTP כדי לשלוח הודעות דוא"ל לבדיקה, אך לעת עתה נשתמש בחשבון דוא"ל כדי לשלוח דוא"ל מכיוון שהוא אינטואיטיבי יותר.

אפשר פשוט להשתמש בחשבון Gmail קיים, אך כאשר אתה משחק עם התוכנית שלך, ייתכן שהוא יתמלא בקרוב באימיילים לבדיקה. זו הסיבה שאנו ממליצים ליצור חשבון 'זרוק' לצורך הבדיקה.

כעת, הפעל את האפשרות אפשר אפליקציות פחות מאובטחות כדי לגשת לחשבון Gmail שלך. זו סיבה נוספת להשתמש בדוא"ל זרוק מכיוון שלא מומלץ לשחק עם הגדרות הפרטיות של הדוא"ל הראשי שלך.

כתיבת המייל בפייתון

Python 3 מגיע מותקן מראש עם מודול בשם smtplib (קיצור של ספריית smtp), שניתן להשתמש בו לעבודה עם שרתי SMTP.

כמו כל מודול Python אחר, הדבר הראשון שעליך לעשות הוא לייבא smtplib.

יבוא smtplib

אתחול אובייקט SMTP

כעת תוכלו להשתמש ב- smtplib כדי ליצור אובייקט SMTP, שיספק לכם את מרבית הפונקציונליות של לקוח דוא"ל קונבנציונאלי. עם זאת, ניתן להשתמש בפונקציות של אובייקט SMTP רק בשיטות מופע. לכן, באופן טבעי, השלב הבא הוא הכרזה על מופע אובייקט.

mySMTP = smtplib. SMTP ("smtp.google.com") 

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

לאחר מכן אנו מציינים את הדוא"ל של השולח והנמען. כאן שימושי חשבון ה- Gmail שיצרת קודם לכן.

emailSender = “[email protected]
myThroaway = "[email protected]"
emailRecipients = [myThroaway]

דבר אחד שיש לציין כאן הוא שרשימת הנמענים היא למעשה מערך, מה שאומר שהיא נועדה לאחסן ערכים שאינם אטומיים. כתוצאה מכך תוכלו אפילו לציין רשימת תפוצה שלמה בשדה זה!

כתיבת ההודעה

ניתן לטעון שהחלק הכי פשוט בתהליך, כאן אתה צריך להזין ערכים שבדרך כלל תוסיף בעת חיבור דוא"ל חדש. זה כולל:

  • פרטי השולח
  • פרטי הנמען
  • נושא
  • גוף המסר

שדות אלה מורכבים בתוך מרכאות משולשות ומתוחמים כדלקמן:

newEmail = מאת: מאדם 
אל: לאדם
נושא: מבחן דוא"ל
זה גוף האימייל.

שליחת הדוא"ל

לבסוף, אנו יכולים להשתמש בפקודה sendmail כדי לשלוח את הדואר משרת SMTP שלך לשרת הנמען.

mySMTP.sendmail (emailSender, emailRecipients, newEmail)

עכשיו, יש רק שלב אחרון: ארגון מחדש של הקוד כדי למנוע קריסות של תוכניות צפויות.

פתרון בעיות בתוכנית הדוא"ל של פייתון

לפעמים, שרת ה- SMTP שלך עלול להיכשל ביצירת קשר עם זה של הנמען, או שיש בעיה בשליחת דוא"ל מיציאת SMTP אחת לאחרת. במקרה כזה, התוכנית שלך עלולה לקרוס באופן בלתי צפוי.

כדי להסביר אפשרויות כאלה, אתה יכול להשתמש ב- נסה למעט לחסום ולשים את ההצהרות המועדות לשגיאה בתוך ה- לְנַסוֹת לַחסוֹם. כל התוכנית שלך, יחד עם חסימת הניסיון למעט, צריכים להיראות בערך כך:

יבוא smtplib
emailSender = “[email protected]
myThroaway = ‘[email protected]
emailRecipients = [myThroaway]
newEmail = מאת: מאדם
אל: לאדם
נושא: מבחן דוא"ל
זה גוף האימייל.

לְנַסוֹת:
smtpObj = smtplib. SMTP ('smtp.gmail.com')
mySMTP.sendmail (emailSender, emailRecipients, newEmail)
הדפס ("הדוא"ל נשלח בהצלחה!")
למעט SMTPException:
הדפס ("שגיאה: הייתה שגיאה בשליחת הדוא"ל שלך.")

אבטחת הדוא"ל שלך

אם בכוונתך להשתמש בפייתון במסגרת אמתית לשליחת מיילים, חשוב לוודא שהתקשורת מאובטחת משני הקצוות.

שימוש בשרת SMTP פשוט עם יציאת ברירת המחדל אינו מספק כל שכבת הצפנה לתקשורת. המשמעות היא שאם צד שלישי כלשהו מקשיב לרשת שלך, הוא יכול לגשת לאישורי הכניסה שלך ולמידע הכלול בדוא"ל שלך.

אחת הדרכים לעקוף בעיה זו היא להשתמש בפרוטוקול TLS (Transport Layer Security) כדי להצפין את התקשורת שלכם. זהו אותו פרוטוקול בו משתמשים לקוחות דוא"ל גדולים כמו Gmail ו- Outlook כדי להבטיח שהמיילים שלך לעולם לא יגיעו לידיים הלא נכונות.

לשם כך, עלינו לבצע כמה שינויים קלים בתוכנית שיצרנו קודם.

השלב הראשון, כמובן, הוא לייבא את ssl ספריה יחד עם smtplib. ה ssl הספרייה נותנת לך את היכולת ליצור הקשר SSL מאובטח ולתקשר ברשת מוצפנת על ידי חיבור ליציאות ספציפיות בשני הקצוות.

הקשר SSL מאובטח אינו אלא אוסף של צופנים, גרסאות פרוטוקול, אישורים מהימנים, אפשרויות TLS והרחבות TLS.

בעקבות זאת, אנו יכולים לציין את יציאת TLS ולהוסיף כמה ssl פונקציות ספרייה ליצירת דוא"ל מאובטח.

הקוד, עם כל השינויים שבוצעו, נראה בערך כך:

יבוא smtplib, ssl
smtpServer = "smtp.gmail.com"
יציאה = 587
myEmail = "[email protected]"
סיסמה = "הסיסמה שלי"
#email וסיסמה יכולים להיות גם שדות קלט משתמש
הקשר = ssl.create_default_context ()
newEmail = מאת: מאדם
אל: לאדם
נושא: מבחן דוא"ל
זה גוף האימייל.

לְנַסוֹת:
שרת = smtplib. SMTP (smtpServer, יציאה)
server.starttls (context = context)
server.login (newEmail, סיסמה)
למעט חריג כמו e:
הדפס ("לא ניתן היה לשלוח את הדוא"ל.")
סוף סוף:
server.quit ()

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

מה אתה יכול לעשות עם סקריפט פיתון זה

כעת לאחר שקטפת את המיומנות המדהימה והשימושית להפליא של אוטומציה של הודעות דוא"ל באמצעות קוד, תוכל להחיל אותה על כל פלטפורמה הדורשת שליחת מיילים לרשימת תפוצה מגוונת.

מהשימוש בו באתר האישי שלך כדי לשלוח הודעות דוא"ל אוטומטיות לשימוש באמצעותו לדואלי כרטיסי חג המולד או הזמנות למשפחה ולחברים שלך, השימוש בתסריט פייתון קטן זה מוגבל רק על ידי עצמך יְצִירָתִיוּת.

כמו כן, זה רק אחד מהדברים המדהימים הרבים שתוכלו לעשות עם פייתון. עם תמיכת המפתחים בכל מקום ותחביר קל ללמידה, להרים מיומנות פייתון מעולם לא היה קל יותר.

כדי להמשיך ולבנות דברים מגניבים עם קוד, עיין במדריך שלנו כיצד בנה בוט טלגרם משלך עם Python 3!

אימייל
כיצד לשדרג את מיומנויות הפיתון והבינה שלך בעזרת Keras, Pytorch, Tensorflow ועוד

שדרג את כישורי התכנות ופיתוח האינטרנט שלך ב- Python, בינה מלאכותית, Keras, PyTorch ועוד

נושאים קשורים
  • תִכנוּת
  • ג'ימייל
  • טיפים בדוא"ל
  • פִּיתוֹן
  • אוטומציה של משימות
על הסופר
יאש צ'לאני (8 מאמרים פורסמו)

יאש הוא סטודנט שאפתן למדעי המחשב ואוהב לבנות דברים ולכתוב על כל הדברים הטכנולוגיים. בזמנו הפנוי הוא אוהב לשחק סקווש, לקרוא עותק של מורקמי האחרון ולצוד דרקונים בסקירים.

עוד מאת יאש צ'לאני

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

צעד אחד נוסף !!!

אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.

.