همه ما آنقدر خوش شانس نیستیم که از یک mail client گرافیکی با تمامی امکانات مانند thunderbird و یا kmail و از این نظیر برنامه ها برای ارسال ایمیل استفاده کنیم . گروهی از افراد به نام system administrator وجود دارند که باید از command line و یا اسکریپت برای ارسال ایمیل استفاده کنند . اگر شما هم جز ان دسته از افراد هستید توصیه می کنم مقاله زیر را مطالعه بفرمایید .

در این مقاله سعی خواهم کرد به چگونگی ارسال ایمیل از طریق command line و از طریق پر وتکل telnet بپردازیم.

برای شروع ابتدا باید از run بودن mail server بر روی سرور مورد نظر مطمئن شویم

سپس به سرور مورد نظر بر روی پورت 25 telnet خواهیم زد .

در اینجا میل سرور ما دارای آدرس فرضی abanegan.ir می باشد .

در مرحله اول برای ارسال میل به آدرس مورد نظر بر روی پورت 25 که Simple Mail Transfer Protocol (SMTP) می باشد telnet می زنیم

telnet abanegan.ir 25

Trying 192.168.100.1...

Connected to abanegan.ir (192.168.100.1).

Escape character is '^]'.

220 abanegan.ir ESMTP Sendmail 8.13.8/8.13.8; Sat, 23 Feb 2013 00:35:05 -0800



خوب تا اینجا ما با میل سرور مورد نظر ارتباط برقرار کرده ایم و نرم افزار مربوطه که در اینجا sendmail می باشد به ما جواب داده است .

در مرحله بعدی ما نیاز داریم که domain خود را معرفی کرده و بگوییم از چه domain ای می خواهیم میل ارسال کنیم

.

برای انجام این کار از کامند helo استفاده می کنیم . البته دقت شود که بعضی از میل سرور ها به این دستور نیازی ندارند

در اینجا domain مورد نظر ما نیز abanegan.ir می باشد



helo abanegan.ir

250 abanegan.ir Hello abanegan.ir [192.168.100.1], pleased to meet you

خوب تا به اینجا ما با میل سرورمان ارتباط برقرار کرده و دامین مربوطه مان را نیز معرفی کرده ایم .

در مرحله بعدی ما نیاز داریم که بگوییم که میل از طریق چه کسی قرار است ارسال شود و یا به عبارتی sender را مشخص می کنیم

برای این کار از دستور MAIL FROM: و یا mail from: استفاده می کنیم

MAIL FROM: vahid@abanegan.ir

250 2.1.0 vahid@abanegan.ir... 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 abanegan.ir (192.168.100.1).

Escape character is '^]'.

220 abanegan.ir ESMTP Sendmail 8.13.8/8.13.8; Sat, 23 Feb 2013 01:23:46 -0800

helo abanegan.ir

250 abanegan.ir Hello abanegan.ir [192.168.100.1], pleased to meet you

MAIL FROM: vahid@abanegan.ir

250 2.1.0 vahid@abanegan.ir... 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 abanegan.ir closing connection

Connection closed by foreign host.