Відправка пошти з командного рядка linux

# Yum install mailx

$ Sudo apt-get install mailutils

Після цього можна виконувати консольную команду mail:

$ Echo "Message Body" | mail -s "Message Subject" [email protected]

Щоб змінити поле From: в тілі листа, використовуйте ключ -r:

$ Echo "Message Body" | mail -s "Message Subject" -r "[email protected]" [email protected]

Це може дещо поліпшити спам-рейтинг з точки зору приймаючих серверів. Наприклад, ви хочете з якогось внутрішнього сервера відправляти повідомлення на свій ящик в gmail, але gmail може відхилити лист (та й не тільки gmail, ясна річ). Приклад: є шлюз із зовнішнім ip 1.2.3.4 і внутрішнім ip 192.168.24.1. Внутрішній сервер має тільки внутрішній ip (lan або dmz). При відправці листа командою mail лист буде відправлено через зовнішній шлюз (1.2.3.4), і його ip прекрасно зрозуміє зовнішній поштовик.

Цілком може бути, що у вашого зовнішнього ip вже є якесь ім'я, виданнео провайдером (наприклад, s4-3-2-1.provider.com). Дізнатися це можна командою "ping -a 1.2.3.4". Або ви можете на будь-якому вашому хостингу створити A-запис для ip 1.2.3.4 з ім'ям щось типу srv1234.yourdomain.com і це ім'я вписати в ключ -r:

$ Echo "Message Body" | mail -s "Message Subject" -r "[email protected]" [email protected]

$ Echo "Message Body" | mail -s "Message Subject" -r "[email protected]" [email protected]

де techadmin @ - довільно взяте ім'я поштової скриньки.

Зовнішній поштовий сервер терпиміше віднесеться до листа, в полі From: якого стоїть назва хоста, з якого і прийшов лист.

Відправлення тіла листи з файлу

Якщо тіло листа знаходиться в окремому файлі, можна безпосередньо використовувати його для відправки листа. Це може бути корисним при виклику команди mail з скриптів.

$ Mail -s "Message Subject" [email protected]

Надіслати приховану копію листа:
-b address

Надіслати копію листа:
-c address

І там, і там список одержувачів розділяється комами.

Схожі статті

Copyright © 2024