Как отправить письмо из Терминала? - PullRequest
152 голосов
/ 24 ноября 2011

Я знаю, что есть способы отправки электронной почты с терминала в Linux / MacOS, но я не могу найти надлежащую документацию о том, как это сделать.

В основном мне это нужно для моего bash-скрипта, который уведомляет меня каждый раз, когда в файле происходит изменение.

Ответы [ 6 ]

127 голосов
/ 24 ноября 2011
echo "this is the body" | mail -s "this is the subject" "to@address"
110 голосов
/ 24 ноября 2011

Зайдите в Терминал и введите man mail для получения справки.

Вам нужно будет установить SMTP up:

http://hints.macworld.com/article.php?story=20081217161612647

См. Также:

http://www.mactricksandtips.com/2008/09/send-mail-over-your-network.html

Например:

mail -s "hello" "example@example.com" <<EOF
hello
world
EOF

Это отправит электронное письмо на example@example.com с темой hello и сообщением

Привет

Мир

39 голосов
/ 24 ноября 2011

Если вам нужна только строка темы (как в сообщении с предупреждением), просто выполните:

mailx -s "This is all she wrote" < /dev/null "myself@myaddress"
15 голосов
/ 06 августа 2016

Если вы хотите прикрепить файл в Linux

echo 'mail content' | mailx -s 'email subject' -a attachment.txt username@stackoverflow.com
8 голосов
/ 25 марта 2016

в терминале на вашей Mac OS или Linux OS введите этот код

mail -s (subject) (receiversEmailAddress)  <<< "how are you?"

для примера попробуйте это

mail -s "hi" abc@example.com <<< "how are you?"<br>
2 голосов
/ 22 мая 2019

Вероятно, самый простой способ - использовать для этого curl, нет необходимости устанавливать какие-либо дополнительные пакеты, и его можно настроить непосредственно в запросе.

Вот пример использования SMTP-сервера Gmail:

curl --url 'smtps://smtp.gmail.com:465' --ssl-reqd \
  --mail-from 'from-email@gmail.com' \
  --mail-rcpt 'to-email@gmail.com' \
  --user 'from-email@gmail.com:YourPassword' \
  -T <(echo -e 'From: from-email@gmail.com\nTo: to-email@gmail.com\nSubject: Curl Test\n\nHello')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...