Как отправить электронное письмо с терминала?
Я знаю, что есть способы отправить электронную почту с терминала в 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')