Punta de Choros

27 декември 2009

На 2009г й оставаха 120ч съществуване. От календара падна поредния лист с дата 27 декември и към 10.30ч сутринта ме събуди звън от телефона.

Инсталация на Microsoft шрифтове в Ubuntu 16.04

14 януари 2017

нсталация на Microsoft шрифтове в Ubuntu се поражда от идеята браузърите в различните системи, да показват еднакво текстовото съдържанието на интернет страниците.

Ubuntu 16.04 инсталация на USB disk on Key

19 ноември 2016

Арсеналът ми от мобилни компютри съдържа Fujitsu Lifebook AH530. Това е бюджетна машина от 2011г на Intel Core i5-480M процесор и 4GB DDR3 RAM памет.

gparted

Paragon ExtFS for Windows

30 юли 2016

ExtFS for Windows е утилита на Paragon Software разработена през 2013г. Тя представлява решение, предоставящо пълен достъп на четене и на запис до раздели ...

msvcr100.dll is missing Windows 10

04 октомври 2016

Майк Патерсън от Plixer, компания по компютърната сигурност, публикува доклад , че Windows 10 изпраща данни в криптиран вид от вашата машина на всеки пет минути. Той е направил максимума, за да спре изтичането, но системата продължавала да изпраща информация.


Терзания

При влизане в Ubuntu Server чрез SSH след успешна авторизация ви посреща многоредово съобщение. То поднася всякаква допълнителна информация относно права, гаранции, версия ядро, дата и време на последен успешен вход, и т.н., но в края на предпоследния ред изписва You have new mail. Това винаги ме впечатляваше и веднага се надигаше усещане, че не влизам в персоналка с терминал, а в информационна система с команден център.
Има няколко начина да се избавите от тези писма, попадащи в /var(/spool)/mail/root:
  1. Създаване на празен файл .hushlogin в $HOME (~/.hushlogin)
  2. unset $MAILCHECK в файл .bashrc в $HOME (~/.bashrc)
  3. unset MAIL в файл /etc/profile
MAILCHECK е вградена променлива на shell/bash. Тя съдържа количество секунди, необходими за поредна проверка на нови писма в пощенската кутия на потребителя.

Повече за нея:
echo $SHELL
echo $MAILCHECK # 60s by default
man bash

и за да прочетете конкретно въведете /MAILCHECK.

Прочита на писмата в въпросната директория може да бъде по познат начин, чрез cat, more, tail, nano, но нещата ще станат по-интересни ако се постигат с команда за целта. Това предполага наличие на малък пощенски клиент с логична команда mail. По неясни причини подобна няма инсталирана в системата и ви посреща предложение от конзолата:

The program 'mail' can be found in the following packages:
* mailutils
* heirloom-mailx
* mutt
Try: sudo apt-get install


Работата с mail е изключително забавна и горещо препоръчана да се добави. Последните двa пакета предлагат прикрепяне на файл, но те не са обект на внимание, mailutils е главният герой.

Работата с mail от пакета mailutils се свежда до следния ред в терминала:

mail -s заглавие на писмото до1@адрес1 до2@адрес2 < съдържание на писмото

Флаг -s на команда mail указва изпращане на електронно писмо право от терминала, подобно на уеб-базирана поща или пък на пощенски клиент. Веднага след него напишете заглавие (ако е израз, го поставете в кавички), следва отстъп и въвеждане на електронен адрес. Веднага след него натиснете клавиш [Enter]. Ще се появи карбон полето (Cc:), въведете адрес или го пропуснете с клавиш [Enter]. I тук следва да напишете вашето писмо. Спокойно може да се пренасяте на нов ред с клавиш [Enter]. Изпращането става с ^D.

Малки пояснения

Пакет mailutils инсталира MUA (Mail user agent) и МТА (Mail Transfer agent). Първият се грижи за обработката на вашите писма и взаимодействието с вас, докато вторият поема от MUA писмото и го предава на пощенския сървър. МТА в mailutils се оказва postfix. В моя случай под Ubuntu 10.04.4 mail е версия GNU Mailutils 2.1, докато на другата ми машина под LinuxMint 14 се оказва версия 2.99.97. Различията доведоха писмата под Mint да се изпращат веднага, без всякакви допълнителни настройки, докато под Ubuntu удариха на камък.

Отказах се да се занимавам с настройката на postfix, защото за скромните ми цели еднозначно считам за фаворит Exim4. Него вече разгледахме в тема Ubuntu localhost send mail. Exim4 ще предава писмата на безплатния smpt-сървър от Google. Ясно, че трябва да притежавате Google акаунт.

Команда mail предлага хитри начини за изпращане на писмо. Например, вие може да напишете обширно писмо в GUI редактор. Да го съхраните в вашата домашна директория под произволно име, да речем pismo.txt, а в последствие да го насочите в потока на mail чрез <.

(/bin/)mail -s "Заглавие" До@кого < pismo.txt

или пък да насочите изходния поток от една команда в входния на mail, чрез |.

ls -la | mail -s "Заглавие" До@кого

Инсталацията на mail ще даде още възможност, да четете вашите писма, попадащи в /var(/spool)/mail/$USER. Лаконична команда:

mail

или по-конкретно

mail -u $USER


прочита става с въвеждане на r и съответно номера на писмото, а изтриването става с d.
d 1 - премахва първо писмо
d 1 2 3 - премахва първо второ и трето писмо
d 1-10 - задава диапазон за премахване
d * - трие всички

От думи на практика

На времето Ванката написа писмо с адрес "На село за дядо". Нещо такова да опитаме и ние, все пак наближава 14 февруари, моят трети рожден ден. Аз съм Водолей и съм се родил на 21.01. Задължително повтарям рождения си ден на 29.01 и го затвърдявам на 14.02. След тези дати за мен годината е изтекла ... та сантименталностите в ляво. Посветих се на команда Mail и написах bash-скрипт, който да направи деня ви по-пълен и изпълни с гордост, че сте убунтист. Скриптът нарекох email, съответно изпълним с права 0700. Разположих го до братята си в каталог Scripts на моята домашна директория.

directory


email
#!/bin/bash
# Profruit script to send simple email

# Форматиране на текст
RED="\033[0;31m"
ENDCOLOR="\033[0m"

# mail команда
MAIL=$(which mail)

# Заглавие на писмото
echo -e "${RED}\tЗаглавие на писмото${ENDCOLOR}"
read SUBJECT

# До кого?
echo -e "${RED}\tАдрес на получателя${ENDCOLOR}"
read ADDRESS

# Валидация на ел.адрес
EMAIL=`echo $ADDRESS | grep "^[a-zA-Z]\+\([._][a-zA-Z0-9._]\+\)*@\([a-z]\+\.\)\+[a-z]\{2,6\}$"`
if [ ${#EMAIL} -gt 0 ]; then 

# Съдържание и изпращане
# $MAIL -s $SUBJECT $EMAIL
# "$MAIL" -s "$SUBJECT" "$EMAIL"
${MAIL} -s ${SUBJECT} ${EMAIL}

 # Служебни съобщения
 ANSWER=`echo $?`
 if [ $ANSWER -eq 0 ]; then
  echo -e "${RED}\tПисмото изпратено успешно${ENDCOLOR}"

 elif [ $ANSWER -ne 0 ]; then
  echo -e "${RED}\tПроблем с изпращане на писмото${ENDCOLOR}"
 fi

else
 echo -e "${ADDRESS} не е валиден адрес.\nОпитай отново!"
 sleep 5 && exit
fi
Надявам се коментарите ви ориентират кое за какво е. Опит за форматиране на текст, валидация на еmail-адрес, изпращане на писмото и преглед на статуса.

Каталог Scripts e добавен в променлива $PATH. По-интелигентен начин, отколкото да правя псевдоним (alias) на email. По този начин стартирам email само с лаконичен повик на името в терминала.

И така, пишем писмо На село за дядо.

mail from terminal

Вижда се, че писмата пристигат успешно на двата адреса и кирилицата is not dead. И тук подводни камъни. Ако заглавието е израз на кирилица гърми. Не може да се парсне според "Format of RFC822 object is bad", иначе една дума на кирилица е ОК (за какъв чеп им е притрябвало на сиамските близнаци Кирилл и Мефодий да плагиатстват еврейските букви от понтите, га ако дращехме на шлоькавица нямаше да имаме такива дертове, ама нейсе, дядо знае езици).

mail to abv.bg

Писмо може да пращате от името на вашия потребител или от суперпотребителя. Знайте, че в хедърите се чете вашето IP (не сте анонимен). За X-Mailer се подписва mail (GNU Mailutils 2.1), а изпращаш се явява вашия акаунт в Google.




до нови срещи   ^.^
09.02.2013 profruit 

0 Response to "Команда MAIL"

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: Ubuntu, WEB, Photoshop, Фотография, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога