脚本 telnet 邮件

Scripting telnet mailing

我想创建一个能够根据用户选择轻松发送邮件的脚本。

我这样做了,但它不起作用

mail_sender ()
{
    echo " - FROM : "
    read from
    echo " - TO : "
    read to
    echo " - Subject : "
    read subject
    echo " - Message : "
    read message
    telnet localhost 25
    ehlo triton.itinet.fr
    mail from: $from
    rcpt to: $to
    data
    subject: $subject
    $message
    .
}

你有什么想法吗?

重定向至 telnet 此处文档:

mail_sender ()
{
    echo " - FROM : "
    read from
    echo " - TO : "
    read to
    echo " - Subject : "
    read subject
    echo " - Message : "
    read message
    telnet localhost 25 << EOF
ehlo triton.itinet.fr
mail from: $from
rcpt to: $to
data
subject: $subject
$message
.
EOF
}

here-document 的内容将被重定向到 telnet,有效地在邮件服务器的 shell.

中执行这些 SMTP 命令

重要的是,此处文档中的行完全没有任何缩进(行首没有空格或制表符)。 请注意,在 mail_sender 的中途,缩进看起来像我上面写的那样被破坏了。必须这样, 因为这里的文档就是这样工作的。

您可以在 man bash 中阅读有关此处文档和输入重定向的更多信息。

我只将它用于最简单的测试:

http://www.jetmore.org/john/code/swaks/

但它自夸:

Completely scriptable configuration, with option specification via environment variables, configuration files, and command line

所以不需要在这里重新发明轮子..