使用函数发送邮件的脚本

使用函数发送邮件的脚本

我正在尝试编写一个带有函数的 bash 脚本,您可以使用该函数从命令行向某个地址发送电子邮件,并包含抄送地址、主题行和输入文件。例如,如果函数名为“m”,则键入的命令将如下所示:

m [email protected] [email protected] SubjectLine TextFile.txt

以下是我迄今为止在 vi 中所做的事情。我确信我声明的变量是错误的,而且可能还有更多错误。我对此很陌生。

m()
{
  mail -s="$1" -t="$2" -s="$3" #I am still unclear about positional parameters
}

答案1

#!/bin/bash
m() {
    to_addr="$1"
    cc_addr="$2"
    subject="$3"
    body="$4"
    cat "$body" | mail -s "$subject" -c "$cc_addr" "$to_addr"
}

if [[ "$#" -eq 4 ]]; then
    m "$1" "$2" "$3" "$4"
else
    echo "Incorrect number of paramaters.  Aborting."
    echo "Example syntax:  $0 [email protected] [email protected] "Message Subject" /path/to/messagebody.txt"
    exit 1
fi

相关内容