![如何创建通过 telnet 发送电子邮件的脚本?](https://linux22.com/image/69634/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E9%80%9A%E8%BF%87%20telnet%20%E5%8F%91%E9%80%81%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9F.png)
我想创建一个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