ssmtp 비밀번호의 특수 문자

ssmtp 비밀번호의 특수 문자

내 Gmail 비밀번호에 +및 문자가 있습니다 . 인증 오류를 방지하려면 =어떻게 구성해야 합니까 ?ssmtp

나의 /etc/ssmtp/ssmtp.conf:

[email protected]
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=1234+=5678
FromLineOverride=YES
UseTLS=YES
hostname=skynet

어떻게 실행합니까 ssmtp?

$ echo "email content" | mail -s "email subject" [email protected]
send-mail: Authorization failed (535 5.7.1
http://support.google.com/mail/bin/answer.py?answer=14257
hz16sm4385885lab.6)

답변1

AuthPass파일 줄의 특수 문자를 다루는 눈에 띄는 버그가 여전히 많이 있습니다 /etc/ssmtp/ssmtp.conf.

https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4

ssmtp이 버그 보고서는 데비안 페이지 에만 적용되지만 아마도 다른 페이지에도 적용될 수 있습니다.

  • 데비안 버그 보고서 로그 -#463196: ssmtp는 '=' 또는 ':'이 포함된 AuthPass를 구문 분석할 수 없습니다.
  • 데비안 버그 보고서 로그 -#768129: ssmtp: "#"에도 같은 문제가 있습니다.

=이러한 보고서 로그에 따르면 , :또는 문자가 포함된 줄은 #완전히 건너뛰거나 해당 문자 오른쪽의 비밀번호 부분을 제거하는 방식으로 처리됩니다.

즉, 현재는 해당 AuthPass행에서 이러한 특수 문자를 "이스케이프"할 수 있는 방법이 없습니다.


참고로 무선 가정용 프린터와 같이 전화기에서 사용하는 것과 유사하게 숫자 패드에 비밀번호를 입력해야 하는 장치가 많이 있습니다. 이러한 장치에서는 일부 특수 문자를 사용할 수 있지만 대부분은 선택할 수 없습니다.

이와 같은 상황에서는 (불행히도) 장치의 비밀번호를 조정해야 합니다.

더 많은 문장 부호가 포함된 짧은 비밀번호보다 문자와 숫자로 구성된 긴 비밀번호가 선호됩니다.


이 질문은 다음 페이지에서도 질문되고 답변되었습니다.

ssmtp.conf의 비밀번호에 어떤 문자가 불법입니까?

답변2

다음 해결 방법을 사용할 수 있습니다.

feed the password directly in the command line argument

ssmtp -ap "해시#비밀번호" ...

alternatively put the password in an environment variable.

ssmtp -ap $PASSWD ...

도움이 되었기를 바랍니다.

답변3

대답은 비밀번호를 입력하거나 제출하는 상황에 따라 크게 달라집니다. 일부 형식에서는 비밀번호를 ""'로 묶을 수 있으며, 다른 형식에서는 문제가 되는 문자를 이스케이프해야 합니다. 이것이스케이프 문자는 프로그램, 셸, 운영 체제 등에 따라 다릅니다. Windows 배치 스크립트에서 이스케이프는 ^특정 Linux 또는 터미널 상황에서 이스케이프입니다 \.

답변4

두 번째 등호를 이스케이프 처리해 보세요.

AuthPass=1234+\=5678

관련 정보