Simple Mail Transfer Protocol

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

Simple Mail Transfer Protocolראשי תיבות: SMTP; בתרגום חופשי: פרוטוקול פשוט להעברת דואר) הוא הפרוטוקול הסטנדרטי לשליחת דואר אלקטרוני דרך האינטרנט.

תיאור הפרוטוקול

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

זהו פרוטוקול טקסטואלי (ולא בינארי). השולח משתמש בפקודות טקסטואליות פשוטות על מנת לשלוח את ההודעה הרצויה. השרת מגיב בקוד מספרי ובדרך כלל גם בטקסט כלשהו על מנת להגיב לפקודות שנשלחו. כאשר יש צורך בהעברה של מידע בינארי נעשה שימוש ב-MIME.

SMTP עובר מעל TCP ומשתמש בדרך כלל בפורט 25. פורט לקבלת נתונים הוא פורט 587. SMTPS הוא חיבור SMTP מוצפן באמצעות SSL ומשתמש בדרך כלל בפורט 465.

שורשיו של פרוטוקול SMTP נעוצים ב-1982 (במסמך RFC 821). ימיו הראשונים של האינטרנט עוד בהיותו ARPANet, ומכאן פשטותו היחסית. הפשטות הזו מתבטאת בין השאר בהיעדר מנגנון אימות 'חזק' לגבי מספר שדות, בהם שדה "השולח" ("From"). חולשה זו מאפשרת לכל אדם בעולם להתחזות לכל כתובת אחרת, מה שהופך את הפרוטוקול למטרה קלה עבור ספאמרים. קיימות מספר יוזמות אשר מנסות להתמודד עם הבעיה, כגון שיטת ה-DomainKeys.

פרוטוקול SMTP עודכן בשנת 2008 באמצעות ESMTP (במסמך RFC 5321) הנותן מענה לבעיית האבטחה של הפרוטוקול ומעניק לו תכונות נוספות. פרוטוקול זה נמצא בשימוש נרחב כיום.

מציאת שרת SMTP ושימוש ב-DNS

איתור שרת ה-SMTP שאליו נרצה להעביר את ההודעה נעשה על ידי בקשת DNS מסוג MX ‏(Mail eXchange). כאשר לא נמצאה רשומה מסוג MX, אלא רק רשומה מסוג A, חובה להשתמש ברשומת ה-A.

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

הדגמת עבודה ב-SMTP

כאשר נתחבר למכונה מרוחקת, שבה מותקן שרת SMTP, היא תצפה לשורה המתחילה ב-HELO ולאחריה שם התחום של השרת שמבקש להתחבר אליה. למשל:

HELO mydomain.com

לאחר מכן, נשלח "MAIL FROM" וכתובת המקור של הדואר, על מנת לציין שמדובר בשליחת הודעת דואר. למשל:

MAIL FROM:<[email protected]>

בשלב הבא נשלח "RCPT TO" עם כתובת היעד. למשל:

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

DATA
I`m sorry to say that I want to leave you.
.

לבסוף על מנת לסיים את ההתקשרות נכתב:

QUIT

ראו גם

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא Simple Mail Transfer Protocol בוויקישיתוף