使用 OpenSSL 发送电子邮件

3bd*_*lla 7 bash openssl

使用 openSUSE 下的 OpenSSL 模块,我可以使用此命令列表发送电子邮件

openssl s_client -starttls smtp -connect smtp.gmail.com:587 -crlf
helo
auth login
(Put base64 encoded username)
(Put base64 encoded password)
mail from:<email>
rcpt to:<email>
Data
From: email
To: email1, email2, .....
Subject: 
(Message body goes here)
.
Run Code Online (Sandbox Code Playgroud)

是否有可能一次性执行这样的命令列表?例如脚本?

注意:有一个包含 OpenSSL 模块的嵌入式 Linux 系统,同样的事情将适用于它。

Arc*_*mar 8

你有没有尝试过

openssl s_client -starttls smtp -connect smtp.gmail.com:587 -crlf  <<EOF
helo
auth login
$(echo $username | base64)
$(echo $password | base64)
mail from:$email0
rcpt to:$email0
Data
From: $email0
To: $emaildest
Subject: $(echo $subject)

$(< body.txt)
.
EOF
Run Code Online (Sandbox Code Playgroud)
  • 你必须但消息的正文body.txt(并在之后删除)
  • 你必须设置所有$var...

附带说明一下,如果您对邮件进行签名和加密,您可能希望查看此问题