我知道在Linux/MacOS中有方法从终端发送电子邮件,但我似乎找不到关于如何做到这一点的适当文档。
基本上,我需要它为我的bash脚本,通知我每次有一个文件的变化。
进入终端,输入man mail寻求帮助。
man mail
你需要设置SMTP:
SMTP
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和消息
example@example.com
hello
你好 世界
你好
世界
echo "this is the body" | mail -s "this is the subject" "to@address"
如果你只需要一个主题行(就像在一个警告消息中一样),简单地做:
mailx -s "This is all she wrote" < /dev/null "myself@myaddress"
在MAC操作系统或Linux操作系统的终端上输入这段代码
mail -s (subject) (receiversEmailAddress) <<< "how are you?"
举个例子
mail -s "hi" abc@example.com <<< "how are you?"<br>
如果您想在Linux上附加一个文件
echo 'mail content' | mailx -s 'email subject' -a attachment.txt username@stackoverflow.com
可能最简单的方法是使用curl,不需要安装任何额外的包,它可以直接在请求中配置。
curl
以下是使用gmail smtp服务器的示例:
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')
对于SMTP主机和Gmail,我喜欢使用Swaks -> https://easyengine.io/tutorials/mail/swaks-smtp-test-tool/
在Mac上:
brew install swaks
swaks --to user@example.com --server smtp.example.com
我认为斯威克斯是最好的。这里有一个更复杂的例子,在端口25上使用TLS加密:
swaks --from john.smith@mydomain.com \ --h-From: '"John Smith" <john.smith@mydomain.com>' \ --h-Subject: 'Subject of message' \ --auth LOGIN --auth-user mylogin --auth-pass mypass \ --to someone@otherdomain.com \ --server smtp.example.com --port 25 -tls \ --add-header 'Content-Type: text/plain; charset="utf-8"'