لينكس بريد الأمر هو أداة مساعدة لسطر الأوامر تسمح لنا بإرسال رسائل البريد الإلكتروني من سطر الأوامر. سيكون من المفيد جدًا إرسال رسائل البريد الإلكتروني من سطر الأوامر إذا أردنا إنشاء رسائل بريد إلكتروني برمجيًا من نصوص shell أو تطبيقات الويب. يمكن استخدام أمر البريد مباشرة بواسطة الجهاز الطرفي بالإضافة إلى برنامج Shell النصي. ومع ذلك، تتوفر العديد من الأوامر الأخرى في Linux والتي يمكن استخدامها لإرسال رسائل البريد الإلكتروني من سطر الأوامر مثل سيندميل، موت، SSMTP، التلنت ، و اكثر. في هذا القسم، سنركز على أمر البريد.
تثبيت أمر البريد في لينكس
يمكن تثبيت أمر البريد بواسطة حزم مختلفة مثل:
- جنو mailutils
- الإرث-البريد
- bsd-mailx
يتم تسهيل كل حزمة بميزات وخيارات مختلفة. على سبيل المثال، مصفوفة الإرث الحزمة قادرة على استخدام خادم SMTP خارجي لإرسال الرسائل، بينما يستخدم الخادمان المتبقيان خادم SMTP المحلي.
سنقوم بتثبيت حزمة mailutils، وهي الطريقة الأكثر شيوعًا لإرسال رسائل البريد الإلكتروني من سطر الأوامر. وهو يدعم أمر البريد لإرسال رسائل البريد الإلكتروني.
لتثبيت حزمة mailutils، قم بتنفيذ الأمر التالي:
sudo apt install mailutils
سيطلب الأمر أعلاه كلمة مرور النظام، واكتب كلمة المرور، ثم اضغط يدخل مفتاح. وسوف يتحقق من التثبيت، اكتب 'و' لتأكيد التثبيت. خذ بعين الاعتبار الصورة التالية للإخراج:
سيبدأ عملية خفية ويطلب تكوين postfix، حدد خيار postfix المطلوب.
هناك أربعة خيارات متاحة للتثبيت. وهم على النحو التالي:
لتحديد الخيار المطلوب، قم بتمرير الخيار باستخدام سهم المفاتيح، واختياره باستخدام تبويب + أدخل مفاتيح. يتفاعل Postfix مع الخادم لمعالجة الطلبات. بعد تحديد خيار postfix، سيتم تثبيت حزمة mailutils على جهازك بنجاح.
كيف يعمل أمر البريد؟
من المهم معرفة كيفية عمل الأمر. يستدعي أمر البريد لحزمة mailutils ثنائي sendmail القياسي لإرسال البريد إلى وجهة محددة. وهو يتصل بـ MTA المحلي، وهو خادم SMTP محلي يعمل ويدعم رسائل البريد على المنفذ 25.
هذا يعني أن الإصلاح اللاحق الذي يحتوي على خادم SMTP يجب أن يعمل على أجهزتنا لاستخدام أمر البريد. يسأل postfix DNS، الوجهة التي سيتم تسليم البريد فيها، ويرد DNS على قائمة خوادم البريد وينشئ اتصال SMTP. إذا كان مفقودًا، فسنحصل على رسالة خطأ مثل ' إرسال البريد: لا يمكن فتح البريد:25 '.
أرسل البريد باستخدام أمر البريد
يعد إرسال رسائل البريد من سطر الأوامر عملية مباشرة. لإرسال بريد من المحطة، قم بتنفيذ الأمر كما يلي:
mail -s 'Subject'
يتم استخدام الخيار '-s' لتحديد الموضوع. بعد تنفيذ الأمر، سيطلب عنوان Cc. اكتب عنوان نسخة (نسخة كربونية)؛ يمكنك تركه فارغًا بالضغط على مفتاح Enter. اكتب النص، ثم اضغط على المفاتيح CTRL+D لإرساله. النظر في الإخراج أدناه:
من الناتج أعلاه، سيتم إرسال البريد إلى عنوان بريد محدد.
حدد نص البريد في سطر واحد
يمكننا تحديد الموضوع والرسالة في سطر واحد. لتحديد نص الرسالة في سطر واحد، قم بتنفيذ الأمر التالي:
mail -s 'subject' <<< 'Message'
سيقوم الأمر أعلاه بإرسال البريد إلى العنوان المحدد. خذ بعين الاعتبار الأمر أدناه:
أو يمكننا أيضًا تحديد الأمر على النحو التالي:
echo 'Message body' | mail -s 'Subject' aFrom:Dwivedi [email protected]
جلب رسالة من ملف
يمكننا أيضًا جلب الرسائل من ملف. يكون ذلك مفيدًا إذا أردنا استدعاء أمر البريد من برنامج نصي Shell أو برامج أخرى. لإرسال رسالة من ملف، قم بتنفيذ الأمر كما يلي:
mail -s 'Hello World' [email protected] <p>The above command will send the message from the file mailcontent.txt. For quick, we can also use the below command:</p> <pre> $ echo 'Message body' | mail -s 'Subject' </pre> <h3>Specify CC and BCC</h3> <p>We can also attach a bcc and cc address within a command. To attach a bcc and cc address, use the -b and -c options, respectively.</p> <p>To add a bcc address, execute the command as follows:</p> <pre> mail -s 'Hello World' -b userto </pre> <p>To add a cc address, execute the command as follows:</p> <pre> mail -s 'Hello World' -c userto </pre> <p>Also, we can specify both cc and bcc addresses in a single command. Execute the command as follows:</p> <pre> mail -s 'Hello World' -b userto -c userto </pre> <h3>Adding multiple recipients</h3> <p>The mail command allows us to add more than one recipient in a single mail other than cc and bcc. To add more than one mail address, just put the other mail addresses after the first mail address followed by a comma(,). Consider the below command:</p> <pre> mail -s 'Hello World' , </pre> <p>The above command will deliver the message to both addresses.</p> <h3>Specify the sender name and address</h3> <p>We can add the additional header information such as 'FROM' name and address to attach with the email. To specify the additional information with the mail command, use the -a option with the command. Execute the command as follows:</p> <pre> $ echo 'Message body' | mail -s 'Subject' -aFrom:Sender_name recipient address </pre> <p>The above command will deliver the specified information to the receiver.</p> <h3>Adding an attachment</h3> <p>We can also attach a file with the mail. The -a option is used to attach a file along with the mail. To add an attachment, execute the command as follows:</p> <pre> echo 'Message body' | mail -s 'Subject' -r '' -a /path/to/file </pre> <p>The above command will attach a specified file from the specified path with mail.</p> <h2>Read mails</h2> <p>The mail command can be used to read all your incoming mails. However, it is not cool to read mails from the command line, but we can understand it for the shake of knowledge. To read the inbox mails, execute the mail command without any option as follows:</p> <pre> mail </pre> <p>The above command will display all incoming mails.</p> <h2>Manual for the mail command</h2> <p>To read the manual for the mail command, execute the man command as follows:</p> <pre> man mail </pre> <p>The above command will display the manual of the mail command on your terminal. Consider the below output:</p> <img src="//techcodeview.com/img/linux-tutorial/07/linux-mail-command-6.webp" alt="Linux mail Command"> <p>Press the 'q' key to exit from the manual and 'h' key for help. The help option lists more options to assist you. Consider the below image:</p> <img src="//techcodeview.com/img/linux-tutorial/07/linux-mail-command-7.webp" alt="Linux mail Command"> <p>To exit from the help, press the 'q' key.</p> <hr>
حدد CC وBCC
يمكننا أيضًا إرفاق عنوان نسخة مخفية الوجهة وعنوان نسخة مخفية ضمن الأمر. لإرفاق عنوان bcc وcc، استخدم الخيارين -b و-c، على التوالي.
لإضافة عنوان نسخة مخفية الوجهة، قم بتنفيذ الأمر كما يلي:
mail -s 'Hello World' -b userto
لإضافة عنوان نسخة، قم بتنفيذ الأمر كما يلي:
mail -s 'Hello World' -c userto
يمكننا أيضًا تحديد عنواني cc وbcc في أمر واحد. قم بتنفيذ الأمر كما يلي:
mail -s 'Hello World' -b userto -c userto
إضافة عدة مستلمين
يسمح لنا أمر البريد بإضافة أكثر من مستلم في بريد واحد بخلاف نسخة ونسخة مخفية الوجهة. لإضافة أكثر من عنوان بريدي، ما عليك سوى وضع عناوين البريد الأخرى بعد عنوان البريد الأول متبوعا بفاصلة (،). خذ بعين الاعتبار الأمر أدناه:
mail -s 'Hello World' ,
سيقوم الأمر أعلاه بتسليم الرسالة إلى كلا العنوانين.
تحديد اسم المرسل وعنوانه
يمكننا إضافة معلومات الرأس الإضافية مثل الاسم والعنوان 'من' لإرفاقها بالبريد الإلكتروني. لتحديد المعلومات الإضافية باستخدام أمر البريد، استخدم الخيار -a مع الأمر. قم بتنفيذ الأمر كما يلي:
$ echo 'Message body' | mail -s 'Subject' -aFrom:Sender_name recipient address
سيقوم الأمر أعلاه بتسليم المعلومات المحددة إلى المتلقي.
إضافة مرفق
يمكننا أيضًا إرفاق ملف بالبريد. يتم استخدام الخيار -a لإرفاق ملف مع البريد. لإضافة مرفق، قم بتنفيذ الأمر كما يلي:
echo 'Message body' | mail -s 'Subject' -r '' -a /path/to/file
سيقوم الأمر أعلاه بإرفاق ملف محدد من المسار المحدد بالبريد.
قراءة رسائل البريد
يمكن استخدام أمر البريد لقراءة جميع رسائل البريد الواردة. ومع ذلك، ليس من الرائع قراءة رسائل البريد الإلكتروني من سطر الأوامر، ولكن يمكننا فهمها من أجل هز المعرفة. لقراءة رسائل البريد الوارد، قم بتنفيذ أمر البريد دون أي خيار كما يلي:
مجموعة إضافة عناصر Java
سيعرض الأمر أعلاه جميع رسائل البريد الواردة.
دليل لأمر البريد
لقراءة دليل أمر البريد، قم بتنفيذ الأمر man كما يلي:
man mail
سيعرض الأمر أعلاه دليل أمر البريد على جهازك الطرفي. النظر في الإخراج أدناه:
اضغط على المفتاح 'q' للخروج من الدليل والمفتاح 'h' للمساعدة. يسرد خيار المساعدة المزيد من الخيارات لمساعدتك. النظر في الصورة أدناه:
للخروج من المساعدة، اضغط على المفتاح 'q'.