Как отправить электронное письмо с терминала?

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

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

Ответ 1

Перейдите в терминал и введите man mail для справки.

Вам нужно установить SMTP вверх:

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

См. также:

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

Например:

mail -s "hello" "[email protected]" <<EOF
hello
world
EOF

Это отправит электронное письмо на адрес [email protected] с темой hello и сообщение

Hello

Мир

Ответ 2

echo "this is the body" | mail -s "this is the subject" "[email protected]"

Ответ 3

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

mailx -s "This is all she wrote" < /dev/null "[email protected]"

Ответ 4

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

echo 'mail content' | mailx -s 'email subject' -a attachment.txt [email protected]

Ответ 5

в терминале на вашем mac os или linux os введите этот код

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

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

mail -s "hi" [email protected] <<< "how are you?"<br>

Ответ 6

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

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

curl --url 'smtps://smtp.gmail.com:465' --ssl-reqd \
  --mail-from '[email protected]' \
  --mail-rcpt '[email protected]' \
  --user '[email protected]:YourPassword' \
  -T <(echo -e 'From: [email protected]\nTo: [email protected]\nSubject: Curl Test\n\nHello')