Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在unix脚本中发送包含消息的邮件_Linux_Email_Unix_Ksh - Fatal编程技术网

Linux 如何在unix脚本中发送包含消息的邮件

Linux 如何在unix脚本中发送包含消息的邮件,linux,email,unix,ksh,Linux,Email,Unix,Ksh,熟悉unix并学习它的语言和行为。 我正在用.ksh编写一个脚本,需要发送带有消息的邮件。 当前正在我的脚本中使用此命令: mailx -s"File not found" abc@def.com 此命令帮助我获得主题和收件人名称。 我的问题是,我怎样才能随信一起写一条信息。因为每次我运行脚本时,它都会暂停并要求我输入消息,然后执行,我希望预先包含消息,以便脚本不会在其间暂停 由于mailx将正文作为stdin上的输入,您可以通过管道将正文发送到它: echo 'Message bod

熟悉unix并学习它的语言和行为。 我正在用.ksh编写一个脚本,需要发送带有消息的邮件。 当前正在我的脚本中使用此命令:

    mailx -s"File not found" abc@def.com
此命令帮助我获得主题和收件人名称。
我的问题是,我怎样才能随信一起写一条信息。因为每次我运行脚本时,它都会暂停并要求我输入消息,然后执行,我希望预先包含消息,以便脚本不会在其间暂停

由于mailx将正文作为stdin上的输入,您可以通过管道将正文发送到它:

echo 'Message body goes here' | mail -s 'subject line goes here' email@provider.com
echo "Hello World" | mailx -s"File not found" abc@def.com
或者使用


mailx-s“未找到文件”abc@def.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

cat如果您还想将附件添加到要发送的邮件中。给你:

echo 'Type Message body' | mailx -s 'Type subject' -a path/filename.txt email@provider.com
例如:


事先定义邮件内容,并按如下方式执行:

mailx -s"File not found" abc@def.com < mailcontent
mailx-s“未找到文件”abc@def.com
第一个对我来说很有用,但当我收到邮件时,邮件正文中有“”作为试用,邮件中不会显示,但当我收到邮件时,你会在任务栏上看到预览,我看到它就在那里,它没有什么不同,但很好奇,非常感谢你的帮助第二个看起来很时髦,我试过了,但没有成功:(对于第一个命令,我使用了以下命令:mail\u person=abc@def.comecho“test”| mailx-s“test”$mail\u person现在此命令会将消息发送给我,但也会将其添加到unix中的/var/spool/mail中
echo 'PFA report' | mailx -s 'Today's Report' -a `path`/report1306.txt  xyz@gmail.com
mailx -s"File not found" abc@def.com < mailcontent