[英]how to send a mail with a message in unix script
unix的新手,学习谈话和走路吧。 我正在.ksh中编写一个脚本,并要求发送带有消息的邮件。 目前在我的脚本中使用此命令:
mailx -s"File not found" abc@def.com
此命令可帮助我获得主题和收件人姓名。 我的问题是如何与它一起写一条消息。 因为每次我运行脚本它暂停并要求我输入消息然后执行,我想预先包含消息,以便脚本不会在两者之间暂停。
echo 'Message body goes here' | mail -s 'subject line goes here' email@provider.com
在命令行或脚本内部尝试:
echo "This is the message." | mailx -s "Subject" abc@def.com
您可以使用来自文件的预定义消息:
cat message.txt | mailx -s "Subject" abc@def.com
另外mailx(在其他答案中提到)你也可以使用sendmail:
cat <<EOF | sendmail -t
To: recipients-mailaddress
From: your-mailaddress
Subject: the-subject
mailtext
blabla
.
EOF
也许你需要添加sendmail的完整路径,如果它不在你的路径中。 例如/ usr / sbin / sendmail或/ usr / lib / sendmail。
更新 :
另见这个问题
因为mailx将正文作为stdin的输入,你可以将正文传递给它:
echo "Hello World" | mailx -s"File not found" abc@def.com
或者使用这里的文件
mailx -s"File not found" abc@def.com << END_TEXT
Hello World
END_TEXT
如果您还想要添加要发送的附件。 干得好:
echo 'Type Message body' | mailx -s 'Type subject' -a path/filename.txt email@provider.com
例:
echo 'PFA report' | mailx -s 'Today's Report' -a `path`/report1306.txt xyz@gmail.com
事先定义mailcontent并按照以下方式执行:
mailx -s"File not found" abc@def.com < mailcontent
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.