Simple Mail Transfer Protocol

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
סיווג פרוטוקולים על פי מודל ה-OSI
שכבת יישום HTTP, SMTP, FTP, RTP, IRC, SNMP, SIP, DNS, DHCP
שכבת ייצוג MIME, ASCII, Unicode, SSL
שכבת שיחה ASP, PPTP, SSH, NFS, RPC
שכבת תעבורה TCP, UDP, SCTP, DCCP
שכבת רשת IP (IPv4, IPv6), ICMP, IPX , ניתוב
שכבת קו Ethernet, Token ring, FDDI
שכבה פיזית E1, 10Base-T, RS-232, DSL, SONET
פרוטוקולים במודל TCP/IP
שכבת יישום
HTTP, SMTP, FTP, DNS, DHCP, SSH, RTP, RTSP, IRC, SNMP, SIP, IMAP4, MIME, TELNET, RPC, SOAP, LDAP ...
שכבת תעבורה
TCP, UDP, SCTP, DCCP ...
שכבת רשת
IP, IPv4, IPv6, ICMP, ARP, IPX, IGMP ...
שכבת קשר
Ethernet, 10BASE-T, 802.11 WiFi, Token ring, FDDI ...
תרשים להסבר מימוש הפרוטוקול

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

תיאור הפרוטוקול[עריכת קוד מקור | עריכה]

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

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

SMTP עובר מעל TCP ומשתמש בדרך כלל בפורט‏ 25.

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

מציאת שרת SMTP ושימוש ב-DNS[עריכת קוד מקור | עריכה]

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

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

הדגמת עבודה ב-SMTP[עריכת קוד מקור | עריכה]

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

HELO mydomain.com

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

MAIL FROM:<romeo@bogus.net>

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

RCPT TO:<juliet@fakenet.com>

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

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

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

QUIT

ראו גם[עריכת קוד מקור | עריכה]