وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

اسکریپت Bash برای ارسال ایمیل

0 17
زمان لازم برای مطالعه: 2 دقیقه


ایمیل یک وسیله ارتباطی بسیار رایج در دنیای امروز است. هر کسی می تواند به راحتی با ارسال ایمیل با دوستان، اعضای خانواده و همکاران ارتباط برقرار کند یا هر سندی را به اشتراک بگذارد. به طور کلی، مردم از هر سرور ایمیل رایگان مانند Gmail، Yahoo، Hotmail و غیره برای ارسال ایمیل استفاده می کنند. اما در سیستم عامل لینوکس می توانید به راحتی از خط فرمان ایمیل ارسال کنید. راه های زیادی برای ارسال ایمیل در لینوکس وجود دارد. چند روش رایج و آسان برای ارسال ایمیل در سیستم عامل اوبونتو از terminal در این آموزش نشان داده شده است.





مقداردهی اولیه:

بسیاری از دستورات لینوکس برای ارسال ایمیل از خط فرمان یا با استفاده از a در دسترس هستند bash اسکریپت اما اگر هیچ سرور SMTP به درستی در سیستم تنظیم نشده باشد، هر دستور ارسال ایمیل کار نخواهد کرد. می‌توانید سرور SMTP خود را برای ارسال ایمیل از خط فرمان تنظیم کنید یا می‌توانید از هر سرور SMTP رایگان هر ارائه‌دهنده خدمات ایمیل معروف مانند Gmail یا Yahoo استفاده کنید. در این آموزش از سرور SMTP یک حساب جیمیل استفاده شده است. برای انجام این کار، باید یک حساب کاربری جیمیل را انتخاب کنید و گزینه “Allow less safe apps” را برای ارسال ایمیل آن حساب فعال کنید. برای فعال کردن این گزینه می توانید به آموزش زیر مراجعه کنید.

https://linuzhint.com/how-to-send-email-from-php/

پس از فعال کردن این گزینه، باید فایل ‘/etc/ssmtp/ssmtp.conf’ را با ‘ باز کنید.root’ امتیاز دهید و خطوط زیر را در انتهای فایل اضافه کنید. برای تکمیل تنظیمات باید آدرس ایمیل خود را روی “AuthUser” و رمز ایمیل خود را روی “AuthPass” تنظیم کنید.

از STARTTLS استفاده کنید=بله
FromLineOverride=بله
root= مدیر@example.com
mailhub=smtp.gmail.com:587
AuthUser= نام کاربری@gmail.com
AuthPass= رمز عبور

مثال-1: استفاده از دستور Sendmail

یکی از دستورات محبوب ارسال ایمیل در لینوکس، «sendmail» است. کاربر می تواند با استفاده از این دستور به راحتی از خط فرمان ایمیل ارسال کند. اگر بسته Sendmail در سیستم نصب نشده است، دستور زیر را برای نصب بسته اجرا کنید.

$ sudo apt نصب ssmtp

فرض کنید، محتوای ایمیل در فایلی به نام ’email.txt’ با محتوای زیر ذخیره شده است. در اینجا، متن بعد از “موضوع:” به عنوان موضوع ایمیل و قسمت باقی مانده به عنوان متن ایمیل ارسال می شود.

پیشنهاد می‌کنیم بخوانید:  استفاده از فرمان Exec در اسکریپت های شل

email.txt

موضوع: ارسال ایمیل با استفاده از sendmail
تست بدنه ایمیل

دستور ‘sendmail’ را با آدرس ایمیل گیرنده مانند دستور زیر اجرا کنید.

$ ارسال ایمیل نام کاربری@gmail.com < email.txt

اسکریپت Bash برای ارسال ایمیل

مثال-2: استفاده از فرمان ‘mail’

رایج ترین دستور برای ارسال ایمیل در لینوکس دستور ‘mail’ است. این دستور نصب نیست روی اوبونتو به طور پیش فرض برای نصب دستور ‘mail’ دستور زیر را اجرا کنید.

$ sudo apt نصب mailutils

دستور زیر نسخه این دستور را در صورت نصب در سیستم نشان می دهد.

$ پست -V

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

گزینه ‘-s’ در دستور ‘mail’ برای تعریف موضوع ایمیل استفاده می شود. دستور ‘mail’ را با گزینه ‘-s’ با موضوع ایمیل و آدرس ایمیل گیرنده مانند دستور زیر اجرا کنید. آدرس Cc: را می‌پرسد. اگر نمی‌خواهید از فیلد Cc: استفاده کنید، آن را خالی نگه دارید و اینتر را فشار دهید. متن پیام را تایپ کنید و Ctrl+D را فشار دهید تا ایمیل ارسال شود.

$ پست -s ‘موضوع’ نام کاربری@gmail.com

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

اگر می خواهید متن پیام ایمیل را به دستور اضافه کنید، از عملگر “<<" مانند دستور زیر استفاده کنید.

$ پست -s ‘موضوع پیام’ نام کاربری@gmail.com <<< “تست بدن پیام”

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

همچنین می توانید آدرس ایمیل فرستنده را با دستور ‘mail’ با استفاده از گزینه ‘-a’ اضافه کنید. دستور زیر ایمیل را با موضوع، “موضوع پیام”، نام فرستنده و آدرس ایمیل، “Admin” و آدرس ایمیل گیرنده، username@gmail.com و متن پیام، “تست پیام” ارسال می کند. .

ایمیل $ -s ‘موضوع پیام’ از:Admin\<مدیر@example.com\>

نام کاربری@gmail.com <<< “پیام آزمایشی”

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

شما همچنین می توانید با استفاده از متن پیام ایمیل ارسال کنید echo و دستور pipe( |). دستور زیر از دستور pipe (|) برای ارسال متن پیام استفاده می کند.

$ echo “پیام آزمایشی” | پست -s “موضوع پیام” نام کاربری@example.com

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

ایمیل را می توان با استفاده از دستور ‘mail’ و افزودن آدرس گیرندگان با جدا کردن کاما برای چندین گیرنده ارسال کرد. دستور زیر برای دو گیرنده ایمیل ارسال می شود.

$ پست -s “تست ایمیل” نام کاربری 1@example.com، username2@example.com < test.txt

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

مثال-3: استفاده از دستور “mutt”.

مانند دستور ‘mail’، دستور ‘mutt’ نصب نشده است روی اوبونتو به طور پیش فرض برای نصب دستور mutt دستور زیر را اجرا کنید.

$ sudo apt نصب مات

دستور ‘mutt’ شبیه دستور ‘mail’ عمل می کند اما دستور ‘mutt’ ویرایشگر مخصوص به خود را برای ارسال ایمیل دارد. برای ارسال ایمیل دستور زیر را با آدرس ایمیل معتبر اجرا کنید.

$ echo “پیام آزمایشی” | مات -s “تست ایمیل” نام کاربری@example.com

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

می توانید هر فایلی را با استفاده از گزینه ‘-a’ با دستور ‘mail’ یا ‘mutt’ پیوست کنید. دستور زیر فایل items.txt را هنگام ارسال ایمیل پیوست می کند.

$ echo “پیام آزمایشی” | مات -s “موضوع پیام” items.txt نام کاربری@gmail.com

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

مثال-4: استفاده از دستور ‘SSMTP’

یکی دیگر از دستورات ایمیل، دستور smtp است. اگر ssmtp قبلا نصب نشده است، ابتدا بسته را نصب کنید. دستور نصب ssmtp در مثال-1 نشان داده شده است. دستورات ssmtp و sendmail به طور مشابه کار می کنند.

پیشنهاد می‌کنیم بخوانید:  الگوی تطبیق در بیانیه مورد Bash

دستور زیر را با آدرس ایمیل معتبر اجرا کنید. موضوع و متن ایمیل را تایپ کنید. برای خروج و ارسال ایمیل، ctrl+D را فشار دهید.

$ نام کاربری ssmtp@gmail.com

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

مثال-5: استفاده از دستور mailx

شما می توانید محتوای HTML را به عنوان متن ایمیل بدون ارسال پیام متنی ارسال کنید. یک فایل HTML با نام “test.html” ایجاد کنید تا از آن به عنوان متن پیام استفاده کنید.

test.html

<html>
<بدن>>
<h3> ارسال ایمیل </h3>
<فونت اندازه=“2” رنگ=“قرمز”>تست بدنه پیام</فونت>
<</بدن>
</html>

دستور ‘mailx’ مانند دستور ‘mail’ عمل می کند. برای ارسال محتوای HTML به عنوان متن پیام در دستور ‘mailx’ باید Content-Type را به عنوان متن/html ذکر کنید. دستور زیر محتوای فایل “test.html” را به عنوان متن پیام ایمیل ارسال می کند.

$ mailx “نوع محتوا: متن/html” -s “ارسال ایمیل با استفاده از mailx”

< test.html “username@gmail.com”

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

هنگامی که صندوق ورودی حساب ایمیل گیرنده را بررسی می کنید، لیست ایمیل ها مانند تصویر زیر نشان داده می شود.

اسکریپت Bash برای ارسال ایمیلاسکریپت Bash برای ارسال ایمیل

نتیجه

پس از تمرین صحیح دستورات بالا، امیدواریم خواننده بتواند به راحتی از خط فرمان در لینوکس ایمیل ارسال کند.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 21:50:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید