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)
.
이러한 일련의 명령을 한 번에 실행할 수 있습니까? 대본처럼요?
참고: OpenSSL 모듈을 포함하는 임베디드 Linux 시스템이 있으며 여기에도 동일한 내용이 적용됩니다.
답변1
시도해 봤어?
openssl s_client -starttls smtp -connect smtp.gmail.com:587 -crlf <<EOF
helo
auth login
$(echo -n $username | base64)
$(echo -n $password | base64)
mail from:$email0
rcpt to:$email0
Data
From: $email0
To: $emaildest
Subject: $(echo $subject)
$(< body.txt)
.
EOF
- 메시지 본문을 넣어야 합니다
body.txt
(그리고 나중에 삭제해야 합니다). - 다 설정해야 하는데
$var
...
그런데 메시지에 서명하고 암호화했다면 확인해 보세요.이 문제
답변2
3bdalla로: SSL 연결이 설정되었지만 애플리케이션 계층 데이터가 전송되지 않고 인증서만 표시되었을 때 비슷한 문제를 해결해야 했습니다. openssl 명령줄에 다음 매개변수를 추가해 보세요. -key, keyfile, -cert and certfile
매개변수 뒤에:<port>
openssl s_client -connect <host>:<port> -key <keyfile> -cert <certfile>
(먼저 명령을 시도했습니다 echo "some_data" | openssl s_client -connect <host>:<port> -key <keyfile> -cert <certfile>
:)