This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
отправь_мне_в_почту [2025/12/30 09:16] val |
отправь_мне_в_почту [2025/12/30 11:20] (current) val |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Всем привет! | Всем привет! | ||
| - | Есть множество способов скопировать файл, или его фрагмент, с линукс сервера: "копипаста", scp/winscp, "комбайны" типа MobaXterm, php -S ..., python3 -m http.server ... . Для меня, неожиданно, оказался удобным вариант отправки такого файла себе на почту в виде вложения, для дальнейшей пересылки коллегам (архивы журналов, примеры конфигураций ...) Для технической реализации потребуется корпоративный почтовый сервер, упомянутый здесь https://habr.com/ru/posts/961564/ и bash (даже, точнее, sh :). Да, никакого специального ПО, предназначенного для работы с электронной почтой, ставить на каждый линукс сервер не придется. | + | Есть множество способов скопировать файл или его фрагмент с linux сервера: "копипаста", scp/winscp, "комбайны" типа MobaXterm, php -S ..., python -m http.server ... . Для меня, неожиданно, оказался удобным вариант отправки такого файла, если он не слишком большой, себе на почту, в виде вложения, особенно для дальнейшей пересылки коллегам (архивы журналов, примеры конфигураций ...). Для технической реализации потребуется корпоративный почтовый сервер, упомянутый здесь https://habr.com/ru/posts/961564/ и bash (даже, точнее, sh :) с утилитами, которые всегда есть "из коробки". Да, никакого специального ПО, предназначенного для работы с электронной почтой, ставить на каждый linux сервер не придется. |
| - | За основу были взяты примеры отсюда: https://serverfault.com/questions/38919/send-an-email-with-an-attached-file-using-telnet-or-netcat | + | За основу были взяты примеры отсюда https://serverfault.com/questions/38919/send-an-email-with-an-attached-file-using-telnet-or-netcat |
| - | Конечный результат выглядит так: | + | Результат выглядит так: |
| <code> | <code> | ||
| $ nano ~/mail.sh | $ nano ~/mail.sh | ||
| Line 20: | Line 20: | ||
| { | { | ||
| - | sleep 2; | + | sleep 2 |
| - | echo "EHLO $MAILSERVER"; sleep 1; | + | echo "EHLO $MAILSERVER"; sleep 1 |
| - | echo "MAIL FROM: <$EMAIL>"; sleep 1; | + | echo "MAIL FROM: <$EMAIL>"; sleep 1 |
| - | echo "RCPT TO: <$EMAIL>"; sleep 1; | + | echo "RCPT TO: <$EMAIL>"; sleep 1 |
| - | echo "DATA"; sleep 1; | + | echo "DATA"; sleep 1 |
| echo "To: $EMAIL" | echo "To: $EMAIL" | ||
| echo "Subject: $FILENAME" | echo "Subject: $FILENAME" | ||
| echo "MIME-Version: 1.0 (mime-construct 1.9)" | echo "MIME-Version: 1.0 (mime-construct 1.9)" | ||
| - | echo "Content-Type: $(/usr/bin/file -bi $FILENAME); name=\"$FILENAME\"" | + | echo "Content-Type: $(/usr/bin/file -bi "$FILENAME"); name=\"$FILENAME\"" |
| - | echo "Content-Transfer-Encoding: base64"; | + | echo "Content-Transfer-Encoding: base64" |
| echo | echo | ||
| - | cat $FILENAME | openssl base64; | + | openssl base64 < "$FILENAME" |
| - | echo '.'; | + | echo '.' |
| - | echo "QUIT"; | + | echo "QUIT" |
| echo | echo | ||
| } | nc $MAILSERVER 25 | } | nc $MAILSERVER 25 | ||
| Line 40: | Line 40: | ||
| $ ~/mail.sh /etc/os-release | $ ~/mail.sh /etc/os-release | ||
| - | <code> | + | |
| + | $ sudo ~/mail.sh /var/log/syslog.2.gz | ||
| + | </code> | ||
| + | |||
| + | Еще, скрипт наглядно демонстрирует работу протокола SMTP и пример форматирования электронного письма с вложением, о чем мои коллеги рассказывают на занятиях. https://www.specialist.ru/course/yun2-b | ||
| + | |||
| + | Буду рад, если кому то пригодится, с наступающим Новым Годом! | ||