همه ما آنقدر خوش شانس نیستیم که از یک mail client گرافیکی با تمامی امکانات مانند thunderbird و یا kmail و از این نظیر برنامه ها برای ارسال ایمیل استفاده کنیم . گروهی از افراد به نام system administrator وجود دارند که باید از command line و یا اسکریپت برای ارسال ایمیل استفاده کنند . اگر شما هم جز ان دسته از افراد هستید توصیه می کنم مقاله زیر را مطالعه بفرمایید .
در این مقاله سعی خواهم کرد به چگونگی ارسال ایمیل از طریق command line و از طریق پر وتکل telnet بپردازیم.
برای شروع ابتدا باید از run بودن mail server بر روی سرور مورد نظر مطمئن شویم
سپس به سرور مورد نظر بر روی پورت 25 telnet خواهیم زد .
در اینجا میل سرور ما دارای آدرس فرضی linux-zone.org می باشد .
در مرحله اول برای ارسال میل به آدرس مورد نظر بر روی پورت 25 که Simple Mail Transfer Protocol (SMTP) می باشد telnet می زنیم
telnet linux-zone.org 25
Trying 192.168.100.1...
Connected to linux-zone.org (192.168.100.1).
Escape character is '^]'.
220 linux-zone.org ESMTP Sendmail 8.13.8/8.13.8; Sat, 23 Feb 2013 00:35:05 -0800
خوب تا اینجا ما با میل سرور مورد نظر ارتباط برقرار کرده ایم و نرم افزار مربوطه که در اینجا sendmail می باشد به ما جواب داده است .
در مرحله بعدی ما نیاز داریم که domain خود را معرفی کرده و بگوییم از چه domain ای می خواهیم میل ارسال کنیم
.
برای انجام این کار از کامند helo استفاده می کنیم . البته دقت شود که بعضی از میل سرور ها به این دستور نیازی ندارند
در اینجا domain مورد نظر ما نیز linux-zone.org می باشد
helo linux-zone.org
250 linux-zone.org Hello linux-zone.org [192.168.100.1], pleased to meet you
خوب تا به اینجا ما با میل سرورمان ارتباط برقرار کرده و دامین مربوطه مان را نیز معرفی کرده ایم .
در مرحله بعدی ما نیاز داریم که بگوییم که میل از طریق چه کسی قرار است ارسال شود و یا به عبارتی sender را مشخص می کنیم
برای این کار از دستور MAIL FROM: و یا mail from: استفاده می کنیم
MAIL FROM: vahid@linux-zone.org
250 2.1.0 vahid@linux-zone.org... Sender ok
خوب طبیعتا در مرحله بعدی باید گیرنده ایمیل را مشخص کنیم که با دستور RCPT TO: و یا rcpt to: این کار را انجام می دهیم
RCPT TO: mohammad@gmail.com
250 2.1.5 mohammad@gmail.com... Recipient ok
توجه داشته باشید اگر در این مرحله گیرنده وجود نداشته باشد به شما ارور خواهد داد .
بعد از مشخص کردن دامین ، فرستنده و گیرنده باید Subject و متن نامه را مشخص کنیم برای این کار از دستور DATA و یا data استفاده میکنیم.به طور مثال میل ما دارای subject و یا موضوع happy new year می باشد و در متن آن نیز عبارت
Noroozetan Pirooz Baad را می نویسیم .توجه شود که باید انتهای میل را با یک . (dot) مشخص کنیم .
DATA
354 Enter mail, end with "." on a line by itself
subject:Happy New Year
Noroozetan Pirooz Bad
.
بعد از اتمام متن و گذاشتن . در انتهای نامه و زدن ENETR به ما پیغامی به صورت زیر داده می شود که نشان از درستی ارسال میل دارد
250 2.0.0 r1N8Z5ke027980 Message accepted for delivery
بعد از ارسال میل با دستور QUIT و یا quit کارمان پایان می یابد .
telnet 192.168.100.1 25
Trying 192.168.100.1 ....
Connected to linux-zone.org (192.168.100.1).
Escape character is '^]'.
220 linux-zone.org ESMTP Sendmail 8.13.8/8.13.8; Sat, 23 Feb 2013 01:23:46 -0800
helo linux-zone.org
250 linux-zone.org Hello abanegan.ir [192.168.100.1], pleased to meet you
MAIL FROM: vahid@linux-zone.org
250 2.1.0 vahid@linux-zone.org... Sender ok
RCPT TO: mohammad@gmail.com
250 2.1.5 mohammad@gmail.com... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
subject:HAPPY NEW YEAR
Noroozetan Pirooz Bad
.
250 2.0.0 r1N9NkDk004318 Message accepted for delivery
QUIT
221 2.0.0 linux-zone.org closing connection
Connection closed by foreign host.
در این مقاله سعی خواهم کرد به چگونگی ارسال ایمیل از طریق command line و از طریق پر وتکل telnet بپردازیم.
برای شروع ابتدا باید از run بودن mail server بر روی سرور مورد نظر مطمئن شویم
سپس به سرور مورد نظر بر روی پورت 25 telnet خواهیم زد .
در اینجا میل سرور ما دارای آدرس فرضی linux-zone.org می باشد .
در مرحله اول برای ارسال میل به آدرس مورد نظر بر روی پورت 25 که Simple Mail Transfer Protocol (SMTP) می باشد telnet می زنیم
telnet linux-zone.org 25
Trying 192.168.100.1...
Connected to linux-zone.org (192.168.100.1).
Escape character is '^]'.
220 linux-zone.org ESMTP Sendmail 8.13.8/8.13.8; Sat, 23 Feb 2013 00:35:05 -0800
خوب تا اینجا ما با میل سرور مورد نظر ارتباط برقرار کرده ایم و نرم افزار مربوطه که در اینجا sendmail می باشد به ما جواب داده است .
در مرحله بعدی ما نیاز داریم که domain خود را معرفی کرده و بگوییم از چه domain ای می خواهیم میل ارسال کنیم
.
برای انجام این کار از کامند helo استفاده می کنیم . البته دقت شود که بعضی از میل سرور ها به این دستور نیازی ندارند
در اینجا domain مورد نظر ما نیز linux-zone.org می باشد
helo linux-zone.org
250 linux-zone.org Hello linux-zone.org [192.168.100.1], pleased to meet you
خوب تا به اینجا ما با میل سرورمان ارتباط برقرار کرده و دامین مربوطه مان را نیز معرفی کرده ایم .
در مرحله بعدی ما نیاز داریم که بگوییم که میل از طریق چه کسی قرار است ارسال شود و یا به عبارتی sender را مشخص می کنیم
برای این کار از دستور MAIL FROM: و یا mail from: استفاده می کنیم
MAIL FROM: vahid@linux-zone.org
250 2.1.0 vahid@linux-zone.org... Sender ok
خوب طبیعتا در مرحله بعدی باید گیرنده ایمیل را مشخص کنیم که با دستور RCPT TO: و یا rcpt to: این کار را انجام می دهیم
RCPT TO: mohammad@gmail.com
250 2.1.5 mohammad@gmail.com... Recipient ok
توجه داشته باشید اگر در این مرحله گیرنده وجود نداشته باشد به شما ارور خواهد داد .
بعد از مشخص کردن دامین ، فرستنده و گیرنده باید Subject و متن نامه را مشخص کنیم برای این کار از دستور DATA و یا data استفاده میکنیم.به طور مثال میل ما دارای subject و یا موضوع happy new year می باشد و در متن آن نیز عبارت
Noroozetan Pirooz Baad را می نویسیم .توجه شود که باید انتهای میل را با یک . (dot) مشخص کنیم .
DATA
354 Enter mail, end with "." on a line by itself
subject:Happy New Year
Noroozetan Pirooz Bad
.
بعد از اتمام متن و گذاشتن . در انتهای نامه و زدن ENETR به ما پیغامی به صورت زیر داده می شود که نشان از درستی ارسال میل دارد
250 2.0.0 r1N8Z5ke027980 Message accepted for delivery
بعد از ارسال میل با دستور QUIT و یا quit کارمان پایان می یابد .
telnet 192.168.100.1 25
Trying 192.168.100.1 ....
Connected to linux-zone.org (192.168.100.1).
Escape character is '^]'.
220 linux-zone.org ESMTP Sendmail 8.13.8/8.13.8; Sat, 23 Feb 2013 01:23:46 -0800
helo linux-zone.org
250 linux-zone.org Hello abanegan.ir [192.168.100.1], pleased to meet you
MAIL FROM: vahid@linux-zone.org
250 2.1.0 vahid@linux-zone.org... Sender ok
RCPT TO: mohammad@gmail.com
250 2.1.5 mohammad@gmail.com... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
subject:HAPPY NEW YEAR
Noroozetan Pirooz Bad
.
250 2.0.0 r1N9NkDk004318 Message accepted for delivery
QUIT
221 2.0.0 linux-zone.org closing connection
Connection closed by foreign host.