如何创建通过 telnet 发送电子邮件的脚本?

如何创建通过 telnet 发送电子邮件的脚本?

我想创建一个sh文件来通过 发送电子邮件telnet。像这样的东西:

read -p "from: " from
read -p "from (friendly name): " fromf
read -p "dest: " dest
read -p "dest (friendly name): " destf
read -p "subjct: " subjct
read -p "text: " text
telnet server port (the user put this values on sh file directly)
helo
mail from: $from
rcpt to: $dest
data
from: $fromf <$from>
to: $destf <$dest>
subject: $subjct
$text
.

我该怎么做?

答案1

我将忽略您这样做的原因,并假设您已经知道这些注意事项 - 如果不知道,请知道许多 ISP 可能会阻止端口 25,并且某些 SMTP 服务器将阻止来自动态 IP 地址的请求。

bash 的一个鲜为人知的功能是您可以将输出直接发送到服务器,/dev/tcp/hostname/port并且它会连接到服务器。因此,如果您使用 bash,您可以执行以下操作:

cat > /dev/tcp/server/port <<EOF
HELO
MAIL FROM: $from
[...]
EOF

相关内容