پست الکترونيکی
شهروندان اينترنت روزانه ميليون ها نامه الکترونيکی را برای يکديگر ارسال می نمايند. مبادله نامه های الکترونيکی يکی از اولين سرويس های اينترنت محسوب شده و امروزه از آن به عنوان يک ابزار ارتباطی قدرتمند استفاده می گردد . در زمان ارسال يک نامه الکترونيکی ، فرآيند گسترده و مسيری طولانی طی خواهد شد.
• نمايش ليست تمام پيام های موجود در صندوق پستی از طريق " عناوين پيام ها " . عنوان يک پيام مشخص کننده فرستنده ، موضوع ، تاريخ و زمان و اندازه پيام است .
• امکان انتخاب يک پيام از طريق عنوان آن فراهم شده ومطالعه محتويات پيام
• امکان ايجاد پيام های جديد و ارسال آنها وجود خواهد داشت . برای ارسال يک پيام می بايست آدرس گيرنده ، موضوع پيام را مشخص و در ادامه محتويات پيام را تايپ کرد.
• اکثر برنامه های سرويس گيرنده پيام های الکترونيکی امکان اضافه کردن ضمائم به يک پيام را نيز فراهم می آورند. برنامه های فوق همچنين امکان ذخيره کردن ضمائم موجود در پيام های دريافت شده را نيز دارا می باشند.
• هر شخص بر روی سرويس دهنده دارای يک Account به منظور ارسال و دريافت نامه الکترونيکی است .
• برای هر يک از افراديکه دارای Account می باشند ، يک فايل ساده متنی در فولدر مورد نظر ذخيره می گردد.
• افراديکه تمايل به ارسال نامه الکترونيکی برای شخص بخصوصی را داشته باشند ، می بايست يک پيام متنی را با استفاده از يک برنامه سرويس گيرنده ارسال نمايند. پس از آماده نمون پيام ، با فشردن دکمه "ارسال" ، پيام مورد نظر برای گيرنده ارسال خواهد شد. در اين حالت برنامه سرويس گيرنده با برنامه سرويس دهنده ارتباط برقرار و پيام حاوی آدرس فرستنده ، گيرنده و محتويات مورد نظر را برای سرويس دهنده مورد نظر ارسال می نمايد.
• سرويس دهنده ممکن است اطلاعات دريافت شده را با يک فرمت مناسب به انتهای فايل متنی که برای هر فرد با نام Account وی ايجاد شده ، اضافه می نمايد.
• سرويس دهنده ممکن است اطلاعات ديگر نظير : زمان و تاريخ دريافت پيام را نيز ذخيره نمايد. در صورت ارسال نامه های الکترونيکی ديگر برای يک گيرنده خاص ، سرويس دهنده پيام های دريافت شده را به انتهای فايل متنی ( حاوی پيام های مربوطه) اضافه می نمايد. گيرنده پيام های الکترونيکی از برنامه سرويس گيرنده خود به منظور دريافت و مشاهده نامه های الکترونيکی استفاده می نمايد :"
• برنامه سرويس گيرنده از سرويس دهنده می خواهد که يک نسخه از فايل متنی مربوط به شخص گيرنده را ارسال نمايد.
• برنامه سرويس گيرنده از سرويس دهنده می خواهد که محتويات فايل متنی را حذف نمايد.
• برنامه سرويس گيرنده قادر به ذخيره سازی فايل متنی حاوی پيام ها بر روی کامپيوتر خود است .
• در فايل متنی ذخيره شده بدنبال خطوطی باشد که با عنوان " از : " وجود دارند.
• برنامه سرويس گيرنده قادر به نمايش ليست تمام پيام ها بر اساس عناوين مربوطه است .
مثال فوق صرفا" يک سيستم بسيار ساده ارسال و دريافت پست الکترونيکی را نشان می داد. در ادامه به بررسی يک سيستم واقعی پست الکترونيکی خواهيم پرداخت .
سرويس دهنده SMTP به پورت 25 و سرويس دهنده POP3 به پورت 110 گوش خواهند داد.
کاربران به منظور ارسال نامه الکترونيکی توسط برنامه سرويس گيرنده ، می بايست تنظيمات لازم را انجام دهند. فرض کنيد آدرس پست الکترونيکی شما Ali@Test1.com باشد ، در زمان تنظيم پارامترهای برنامه سرويس گيرنده ( بعنوان مثال: Outlook) ، نام سرويس دهنده پست الکترونيکی می بايست مشخص گردد ( فرض کنيد نام سرويس دهنده پست الکترونيکی mail.test.com باشد ) . پس از آماده نمودن نامه الکترونيکی و فشردن دکمه "ارسال" ، عمليات زير انجام خواهد شد :
• برنامه Outlook express ، با سرويس دهنده SMTP موجود در mail.test1.com از طريق پورت 25 ، ارتباط برقرار می نمايد.
• برنامه Outlook Express با سرويس دهنده SMTP مکالمه ای را برقرارو به سرويس دهنده SMTP ، آدرس های فرستنده و گيرنده و محتويات پيام را اعلان می نمايد.
• سرويس دهنده SMTP آدرس گيرنده ( بعنوان مثال Reza@test1.com ) را به دو بخش مجزا تقسيم می نمايد :
- نام دريافت کننده (Reza)
- نام حوزه (test1.com)
• در صورتيکه گيرنده پيام دارای صندوق پستی بر روی همان سرويس دهنده باشد ، سرويس دهنده SMTP پيام دريافت شده را بسادگی در اختيار سرويس دهنده POP3 قرار خواهد داد. در اين زمينه از برنامه ای با نام "Delivery agent" ( آژانس توزيع ) استفاده می گردد. در صورتيکه گيرنده پيام بر روی حوزه ای ديگر باشد ، سرويس دهنده SMTP نيازمند برقراری ارتباط با حوزه مربوطه است .
• سرويس دهنده SMTP ، با DNS مربوط ارتباط و از او می خواهد که آدرس IP مربوط به سرويس دهنده SMTP حوزه مربوطه را به اطلاع وی برساند. ( فرض اين است که گيرنده پيام دارای صندوق پستی بر روی همان کامپيوتر فرستنده نيست ). در ادامه DNS ، آدرس ( و يا آدرس های ) IP مربوط به سرويس دهنده ( سرويس دهندگان ) SMTP مربوط به حوزه مربوطه را اعلام می نمايد.
• سرويس دهنده موجود در حوزه Test1.com با سرويس دهنده موجود در حوزه Test2.com از طريق پورت 25 ، ارتباط برقرار می نمايد. سرويس دهنده SMTP موجود در حوزه Test2.com ، پيام ارسالی را دريافت و آن را در صندوق پستی مربوط به گيرنده قرار خواهد داد.
در صورتيکه سرويس دهنده موجود در حوزه Test1.com قادر به برقراری ارتباط با سرويس دهنده SMTP موجود در حوزه Test2.com نگردد ، پيام مورد نظر در محلی خاص در نوبت قرار می گيرد. سريس دهنده SMTP در اکثر ماشين ها از برنامه ای با نام Sendmail برای ارسال واقعی يک پيام الکترونيکی استفاده نموده و برای پيام های موجود در صف ، از صفی با نام sendmail queue استفاده می گردد. برنامه Sendmail بصورت ادواری( تکراری) سعی در ارسال مجدد پيام های موجود در صف می نمايد . مثلا" ممکن است هر 15 دقيقه يکبار تلاش مجدد خود برای ارسال را انجام دهد. پس از گذشت چهار ساعت برای ارسال کننده نامه الکترونيکی ، پيامی مبنی بر وجود اشکال در ارسال نامه ، فرستاده می شود. پس از پنج روز ، اکثر برنامه های پيکربندی Sendmail پيامی مبنی بر عدم موفقيت در توزيع پيام را برای ارسال می دارند.
مبادله اطلاعاتی بين سرويس گيرنده پست الکترونيکی و سرويس دهنده SMTP با استفاده از يک زبان ساده متنی و خوانا، با يکديگر ارتباط برقرار می نمايند. در ابتدا برنامه سرويس گيرنده خود را معرفی ، آدرس فرستنده و گيرنده و محتويات پيام را مشخص خواهد کرد. ( با استفاده از برنامه telnet می توان با سرويس دهنده پست الکترونيکی و از طريق پورت 25 ارتباط برقرار کرد).سرويس دهنده SMTP از دستورات ساده ای نظير HELLO,MAIL,RCPT,DATA و ... استفاده می نمايد.
• HELLO. معرفی برنامه سرويس گيرنده
• EHLO . معرفی سرويس گيرنده و درخواست حالت توسه يافته
• MAIL FROM. مشخص کردن فرستنده
• RCPT TO . مشخص کردن گيرنده
• DATA . محتويات پيام را مشخص می کند.
• RESET . برای Reset نمودن استفاده می شود.
• QUIT . ارتباط را قطع می نمايد.
• HELP . در رابطه با دستورات توضيحات لازم را ارائه می نمايد.
سرويس دهنده POP3 از مجموعه دستورات متنی ساده ای ، استفاده می نمايد :
• USER ID . برای ورود user id استفاده می شود.
• PASS . برای ورود رمز عبور استفاده می شود.
• QUIT . برای قطع ارتباط با سرويس دهنده POP3 استفاده می گردد.
• LIST . ليست پيامها بهمراه اندازه آنها را نشان خواهد داد.
• RETR . برای بازيابی يک پيام استفاده می شود.
• DELE . برای حذف يک پيام استفاده می گردد.
• TOP . برای نشان دادن X خط ابتدای پيام استفاده می شود.
برنامه سرويس گيرنده پست الکترونيکی با سرويس دهنده POP3 ارتباط و مجموعه ای از دستورات فوق را به منظور انتقال نسخه هائی از پيام های الکترونيکی بر روی ماشين شما ، انجام می دهد.
يک پيام E-Mail
سرويس گيرندگان E-mail
• نمايش ليست تمام پيام های موجود در صندوق پستی از طريق " عناوين پيام ها " . عنوان يک پيام مشخص کننده فرستنده ، موضوع ، تاريخ و زمان و اندازه پيام است .
• امکان انتخاب يک پيام از طريق عنوان آن فراهم شده ومطالعه محتويات پيام
• امکان ايجاد پيام های جديد و ارسال آنها وجود خواهد داشت . برای ارسال يک پيام می بايست آدرس گيرنده ، موضوع پيام را مشخص و در ادامه محتويات پيام را تايپ کرد.
• اکثر برنامه های سرويس گيرنده پيام های الکترونيکی امکان اضافه کردن ضمائم به يک پيام را نيز فراهم می آورند. برنامه های فوق همچنين امکان ذخيره کردن ضمائم موجود در پيام های دريافت شده را نيز دارا می باشند.
يک سرويس دهنده ساده پست الکترونيکی
• هر شخص بر روی سرويس دهنده دارای يک Account به منظور ارسال و دريافت نامه الکترونيکی است .
• برای هر يک از افراديکه دارای Account می باشند ، يک فايل ساده متنی در فولدر مورد نظر ذخيره می گردد.
• افراديکه تمايل به ارسال نامه الکترونيکی برای شخص بخصوصی را داشته باشند ، می بايست يک پيام متنی را با استفاده از يک برنامه سرويس گيرنده ارسال نمايند. پس از آماده نمون پيام ، با فشردن دکمه "ارسال" ، پيام مورد نظر برای گيرنده ارسال خواهد شد. در اين حالت برنامه سرويس گيرنده با برنامه سرويس دهنده ارتباط برقرار و پيام حاوی آدرس فرستنده ، گيرنده و محتويات مورد نظر را برای سرويس دهنده مورد نظر ارسال می نمايد.
• سرويس دهنده ممکن است اطلاعات دريافت شده را با يک فرمت مناسب به انتهای فايل متنی که برای هر فرد با نام Account وی ايجاد شده ، اضافه می نمايد.
• سرويس دهنده ممکن است اطلاعات ديگر نظير : زمان و تاريخ دريافت پيام را نيز ذخيره نمايد. در صورت ارسال نامه های الکترونيکی ديگر برای يک گيرنده خاص ، سرويس دهنده پيام های دريافت شده را به انتهای فايل متنی ( حاوی پيام های مربوطه) اضافه می نمايد. گيرنده پيام های الکترونيکی از برنامه سرويس گيرنده خود به منظور دريافت و مشاهده نامه های الکترونيکی استفاده می نمايد :"
• برنامه سرويس گيرنده از سرويس دهنده می خواهد که يک نسخه از فايل متنی مربوط به شخص گيرنده را ارسال نمايد.
• برنامه سرويس گيرنده از سرويس دهنده می خواهد که محتويات فايل متنی را حذف نمايد.
• برنامه سرويس گيرنده قادر به ذخيره سازی فايل متنی حاوی پيام ها بر روی کامپيوتر خود است .
• در فايل متنی ذخيره شده بدنبال خطوطی باشد که با عنوان " از : " وجود دارند.
• برنامه سرويس گيرنده قادر به نمايش ليست تمام پيام ها بر اساس عناوين مربوطه است .
مثال فوق صرفا" يک سيستم بسيار ساده ارسال و دريافت پست الکترونيکی را نشان می داد. در ادامه به بررسی يک سيستم واقعی پست الکترونيکی خواهيم پرداخت .
سيستم پست الکترونيکی واقعی
سرويس دهنده SMTP به پورت 25 و سرويس دهنده POP3 به پورت 110 گوش خواهند داد.
سرويس دهنده SMTP
کاربران به منظور ارسال نامه الکترونيکی توسط برنامه سرويس گيرنده ، می بايست تنظيمات لازم را انجام دهند. فرض کنيد آدرس پست الکترونيکی شما Ali@Test1.com باشد ، در زمان تنظيم پارامترهای برنامه سرويس گيرنده ( بعنوان مثال: Outlook) ، نام سرويس دهنده پست الکترونيکی می بايست مشخص گردد ( فرض کنيد نام سرويس دهنده پست الکترونيکی mail.test.com باشد ) . پس از آماده نمودن نامه الکترونيکی و فشردن دکمه "ارسال" ، عمليات زير انجام خواهد شد :
• برنامه Outlook express ، با سرويس دهنده SMTP موجود در mail.test1.com از طريق پورت 25 ، ارتباط برقرار می نمايد.
• برنامه Outlook Express با سرويس دهنده SMTP مکالمه ای را برقرارو به سرويس دهنده SMTP ، آدرس های فرستنده و گيرنده و محتويات پيام را اعلان می نمايد.
• سرويس دهنده SMTP آدرس گيرنده ( بعنوان مثال Reza@test1.com ) را به دو بخش مجزا تقسيم می نمايد :
- نام دريافت کننده (Reza)
- نام حوزه (test1.com)
• در صورتيکه گيرنده پيام دارای صندوق پستی بر روی همان سرويس دهنده باشد ، سرويس دهنده SMTP پيام دريافت شده را بسادگی در اختيار سرويس دهنده POP3 قرار خواهد داد. در اين زمينه از برنامه ای با نام "Delivery agent" ( آژانس توزيع ) استفاده می گردد. در صورتيکه گيرنده پيام بر روی حوزه ای ديگر باشد ، سرويس دهنده SMTP نيازمند برقراری ارتباط با حوزه مربوطه است .
• سرويس دهنده SMTP ، با DNS مربوط ارتباط و از او می خواهد که آدرس IP مربوط به سرويس دهنده SMTP حوزه مربوطه را به اطلاع وی برساند. ( فرض اين است که گيرنده پيام دارای صندوق پستی بر روی همان کامپيوتر فرستنده نيست ). در ادامه DNS ، آدرس ( و يا آدرس های ) IP مربوط به سرويس دهنده ( سرويس دهندگان ) SMTP مربوط به حوزه مربوطه را اعلام می نمايد.
• سرويس دهنده موجود در حوزه Test1.com با سرويس دهنده موجود در حوزه Test2.com از طريق پورت 25 ، ارتباط برقرار می نمايد. سرويس دهنده SMTP موجود در حوزه Test2.com ، پيام ارسالی را دريافت و آن را در صندوق پستی مربوط به گيرنده قرار خواهد داد.
در صورتيکه سرويس دهنده موجود در حوزه Test1.com قادر به برقراری ارتباط با سرويس دهنده SMTP موجود در حوزه Test2.com نگردد ، پيام مورد نظر در محلی خاص در نوبت قرار می گيرد. سريس دهنده SMTP در اکثر ماشين ها از برنامه ای با نام Sendmail برای ارسال واقعی يک پيام الکترونيکی استفاده نموده و برای پيام های موجود در صف ، از صفی با نام sendmail queue استفاده می گردد. برنامه Sendmail بصورت ادواری( تکراری) سعی در ارسال مجدد پيام های موجود در صف می نمايد . مثلا" ممکن است هر 15 دقيقه يکبار تلاش مجدد خود برای ارسال را انجام دهد. پس از گذشت چهار ساعت برای ارسال کننده نامه الکترونيکی ، پيامی مبنی بر وجود اشکال در ارسال نامه ، فرستاده می شود. پس از پنج روز ، اکثر برنامه های پيکربندی Sendmail پيامی مبنی بر عدم موفقيت در توزيع پيام را برای ارسال می دارند.
مبادله اطلاعاتی بين سرويس گيرنده پست الکترونيکی و سرويس دهنده SMTP با استفاده از يک زبان ساده متنی و خوانا، با يکديگر ارتباط برقرار می نمايند. در ابتدا برنامه سرويس گيرنده خود را معرفی ، آدرس فرستنده و گيرنده و محتويات پيام را مشخص خواهد کرد. ( با استفاده از برنامه telnet می توان با سرويس دهنده پست الکترونيکی و از طريق پورت 25 ارتباط برقرار کرد).سرويس دهنده SMTP از دستورات ساده ای نظير HELLO,MAIL,RCPT,DATA و ... استفاده می نمايد.
• HELLO. معرفی برنامه سرويس گيرنده
• EHLO . معرفی سرويس گيرنده و درخواست حالت توسه يافته
• MAIL FROM. مشخص کردن فرستنده
• RCPT TO . مشخص کردن گيرنده
• DATA . محتويات پيام را مشخص می کند.
• RESET . برای Reset نمودن استفاده می شود.
• QUIT . ارتباط را قطع می نمايد.
• HELP . در رابطه با دستورات توضيحات لازم را ارائه می نمايد.
سرويس دهنده POP3
سرويس دهنده POP3 از مجموعه دستورات متنی ساده ای ، استفاده می نمايد :
• USER ID . برای ورود user id استفاده می شود.
• PASS . برای ورود رمز عبور استفاده می شود.
• QUIT . برای قطع ارتباط با سرويس دهنده POP3 استفاده می گردد.
• LIST . ليست پيامها بهمراه اندازه آنها را نشان خواهد داد.
• RETR . برای بازيابی يک پيام استفاده می شود.
• DELE . برای حذف يک پيام استفاده می گردد.
• TOP . برای نشان دادن X خط ابتدای پيام استفاده می شود.
برنامه سرويس گيرنده پست الکترونيکی با سرويس دهنده POP3 ارتباط و مجموعه ای از دستورات فوق را به منظور انتقال نسخه هائی از پيام های الکترونيکی بر روی ماشين شما ، انجام می دهد.
ضمائم