نرم افزار گنو/لینوکس

ارسال ایمیل در خط فرمان

نوشته شده توسط اروند طباطبایی

ارسال ایمیل از سرور SMTP

دستور mail در ترمینال لینوکس از SMTP محلی (mta) روی پورت ۲۵ برای ارسال ایمیل استفاده می کند، اما گاهی نیاز داریم تا از سرور های ایمیل خارجی مانند Gmail استفاده کرده و با اکانت خود در ترمینال ایمیلی ارسال کنیم. برخلاف چیزی که به نظر می‌رسد این کار بسیار ساده (شاید حتی ساده‌تر از تنظیم تاندربرد روی ماشین محلی) می باشد. در این پست دو ابزار mailx و swaks را به شما معرفی می کنیم.

 

۱دستور mailx

دستور mailx از در پکیج های زیادی در دسترس است، پکیج هایی مانند mailutils و heirloom-mailx از جمله ی این پکیج ها هستند. Heirloom-mailx را می‌توانید با دستور زیر نصب کنید:

$ sudo apt-get install heirloom-mailx

در مثال زیر ایمیلی با استفاده از یک سرور SMTP خارجی و تنها با یکی دستور فرستاده ایم.

echo "This is the message body and contains the message" | mailx -v -r "someone@example.com" 
-s "This is the subject" -S smtp="mail.example.com:587" -S smtp-use-starttls -S smtp-auth=login 
-S smtp-auth-user="someone@example.com" -S smtp-auth-password="abc123" 
-S ssl-verify=ignore yourfriend@gmail.com

همین کار را در دوباره به صورت قدم به قدم اجرا کرده ایم:

$ echo "This is the message body and contains the message" | mailx -v \

> -r "someone@example.com" \

> -s "This is the subject" \

> -S smtp="mail.example.com:587" \

> -S smtp-use-starttls \

> -S smtp-auth=login \

> -S smtp-auth-user="someone@example.com" \

> -S smtp-auth-password="abc123" \

> -S ssl-verify=ignore \

> yourfriend@gmail.com

مطمئن شوید که از تنظیمات درست استفاده می کنید، مانند شماره پورت، اطلاعات تصدیق هویت و …

خروجی این دستور اطلاعات و جزئیات اتفاقاتی که در پشت صحنه برای برقرای ارتباط smtp می‌افتد را نشان می‌دهد که برای رفع مشکل می‌تواند بسیار مفید باشد.

 

۲دستور swake

swake لقب چاقوی ارتشی سوئیسی برای SMTP را به دوش می کشد، این برنامه معمولاً برای تست سرور های SMTP به کار رفته و همچنین از TLS پشتیبانی می کند.

برای نصب swake روی اوبونتو یا دبیان از دستور زیر اسفاده کنید:

$ sudo apt-get install swaks

برای ارسال ایمیل از الگوی زیر استفاده کنید:

echo "This is the message body" | swaks --to someone@gmail.com --from "you@example.com" --server mail.example.com
 --auth LOGIN --auth-user "you@example.com" --auth-password "abc123" -tl

به نظر می‌رسد همه چیز به اندازه ی کافی مشخص و مفهوم باشد، آپشن “–server” آدرس سرور خارجی SMTP و “–auth” نوع مکانیزم تصدیق هویت را مشخص می کند. با آپشن “-tls” هم swaks را وادار می‌کنید تا از STARTTLS استفاده کند.

برای اطلاعات بیشتر می‌تواند به man page مربوط به آن مراجعه کنید.

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه