از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
اسکریپت Bash برای ارسال ایمیل
سرفصلهای مطلب
ایمیل یک وسیله ارتباطی بسیار رایج در دنیای امروز است. هر کسی می تواند به راحتی با ارسال ایمیل با دوستان، اعضای خانواده و همکاران ارتباط برقرار کند یا هر سندی را به اشتراک بگذارد. به طور کلی، مردم از هر سرور ایمیل رایگان مانند 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” تنظیم کنید.
FromLineOverride=بله
root= مدیر@example.com
mailhub=smtp.gmail.com:587
AuthUser= نام کاربری@gmail.com
AuthPass= رمز عبور
مثال-1: استفاده از دستور Sendmail
یکی از دستورات محبوب ارسال ایمیل در لینوکس، «sendmail» است. کاربر می تواند با استفاده از این دستور به راحتی از خط فرمان ایمیل ارسال کند. اگر بسته Sendmail در سیستم نصب نشده است، دستور زیر را برای نصب بسته اجرا کنید.
فرض کنید، محتوای ایمیل در فایلی به نام ’email.txt’ با محتوای زیر ذخیره شده است. در اینجا، متن بعد از “موضوع:” به عنوان موضوع ایمیل و قسمت باقی مانده به عنوان متن ایمیل ارسال می شود.
email.txt
تست بدنه ایمیل
دستور ‘sendmail’ را با آدرس ایمیل گیرنده مانند دستور زیر اجرا کنید.
مثال-2: استفاده از فرمان ‘mail’
رایج ترین دستور برای ارسال ایمیل در لینوکس دستور ‘mail’ است. این دستور نصب نیست روی اوبونتو به طور پیش فرض برای نصب دستور ‘mail’ دستور زیر را اجرا کنید.
دستور زیر نسخه این دستور را در صورت نصب در سیستم نشان می دهد.
گزینه ‘-s’ در دستور ‘mail’ برای تعریف موضوع ایمیل استفاده می شود. دستور ‘mail’ را با گزینه ‘-s’ با موضوع ایمیل و آدرس ایمیل گیرنده مانند دستور زیر اجرا کنید. آدرس Cc: را میپرسد. اگر نمیخواهید از فیلد Cc: استفاده کنید، آن را خالی نگه دارید و اینتر را فشار دهید. متن پیام را تایپ کنید و Ctrl+D را فشار دهید تا ایمیل ارسال شود.
اگر می خواهید متن پیام ایمیل را به دستور اضافه کنید، از عملگر “<<" مانند دستور زیر استفاده کنید.
همچنین می توانید آدرس ایمیل فرستنده را با دستور ‘mail’ با استفاده از گزینه ‘-a’ اضافه کنید. دستور زیر ایمیل را با موضوع، “موضوع پیام”، نام فرستنده و آدرس ایمیل، “Admin
نام کاربری@gmail.com <<< “پیام آزمایشی”
شما همچنین می توانید با استفاده از متن پیام ایمیل ارسال کنید echo و دستور pipe( |). دستور زیر از دستور pipe (|) برای ارسال متن پیام استفاده می کند.
ایمیل را می توان با استفاده از دستور ‘mail’ و افزودن آدرس گیرندگان با جدا کردن کاما برای چندین گیرنده ارسال کرد. دستور زیر برای دو گیرنده ایمیل ارسال می شود.
مثال-3: استفاده از دستور “mutt”.
مانند دستور ‘mail’، دستور ‘mutt’ نصب نشده است روی اوبونتو به طور پیش فرض برای نصب دستور mutt دستور زیر را اجرا کنید.
دستور ‘mutt’ شبیه دستور ‘mail’ عمل می کند اما دستور ‘mutt’ ویرایشگر مخصوص به خود را برای ارسال ایمیل دارد. برای ارسال ایمیل دستور زیر را با آدرس ایمیل معتبر اجرا کنید.
می توانید هر فایلی را با استفاده از گزینه ‘-a’ با دستور ‘mail’ یا ‘mutt’ پیوست کنید. دستور زیر فایل items.txt را هنگام ارسال ایمیل پیوست می کند.
مثال-4: استفاده از دستور ‘SSMTP’
یکی دیگر از دستورات ایمیل، دستور smtp است. اگر ssmtp قبلا نصب نشده است، ابتدا بسته را نصب کنید. دستور نصب ssmtp در مثال-1 نشان داده شده است. دستورات ssmtp و sendmail به طور مشابه کار می کنند.
دستور زیر را با آدرس ایمیل معتبر اجرا کنید. موضوع و متن ایمیل را تایپ کنید. برای خروج و ارسال ایمیل، ctrl+D را فشار دهید.
مثال-5: استفاده از دستور mailx
شما می توانید محتوای HTML را به عنوان متن ایمیل بدون ارسال پیام متنی ارسال کنید. یک فایل HTML با نام “test.html” ایجاد کنید تا از آن به عنوان متن پیام استفاده کنید.
test.html
دستور ‘mailx’ مانند دستور ‘mail’ عمل می کند. برای ارسال محتوای HTML به عنوان متن پیام در دستور ‘mailx’ باید Content-Type را به عنوان متن/html ذکر کنید. دستور زیر محتوای فایل “test.html” را به عنوان متن پیام ایمیل ارسال می کند.
< test.html “username@gmail.com”
هنگامی که صندوق ورودی حساب ایمیل گیرنده را بررسی می کنید، لیست ایمیل ها مانند تصویر زیر نشان داده می شود.
نتیجه
پس از تمرین صحیح دستورات بالا، امیدواریم خواننده بتواند به راحتی از خط فرمان در لینوکس ایمیل ارسال کند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 21:50:03