sSMTP 문제 해결: 인증 실패

sSMTP 문제 해결: 인증 실패

내 요구 사항은 다음과 같습니다

  • 터미널에서 이메일 보내기(일괄 처리용)
  • 해당 이메일에 PDF 파일을 첨부하세요. (PDF 파일은 워터마크를 제외한 모든 수신자에게 동일합니다.)
  • 회신 주소 지정([이메일 보호됨])

나는 시도했다"Gmail을 통해 한 줄 메시지를 보내는 가장 간단한 대답은 ssmtp를 사용하는 것입니다.", 그리고 여러 변형을 통해 계속해서 다음을 얻습니다.

노트북 sSMTP[19226]: 인증 실패(535 5.7.8 https://support.google.com/mail/?p=BadCredentialsd13sm3920147qkj.27-gsmtp)

구글 설정:

  • IMAP 활성화됨
  • 보안 수준이 낮은 애플리케이션 허용이 켜져 있습니다.

ssmtp.conf내가 시도한 모든 설정에 대해 나는 그랬습니다.잠금 해제 인증 코드 표시직전:

$echo "Testing...1...2...3" | ssmtp [email protected]

보고 있다스레드 지정/etc/ssmtp/ssmtp.conf설정 방법에 대해서는 아직 합의가 이루어지지 않았습니다.

  • mailhub=smtp.gmail.com:587VS 465
  • UseTLS=YES( UseSTARTTLS=Yes또는 둘 다?)
  • hostname=localhost기본적으로 거기에 배치된 모든 항목을 사용합니다(내 경우에는 laptop) .

누구든지 이 문제에 대한 해결책을 제안하고 작업 중인 conf 파일 전체를 붙여넣을 수 있습니까?

클레임이 있습니다2017년 테마, 저것:

일반 비밀번호로는 외부 애플리케이션을 사용할 수 없습니다.https://security.google.com/settings/security/apppasswords

그렇습니까? (나는 그것을 할 수 없습니다)

대안은 무엇입니까?

첨부된:

  • 운영 체제: 리눅스 민트 19 타라
  • 업그레이드/업데이트 전에 새로 설치하여 ssmtp를 테스트했습니다.
  • 몇 년 전에는 동일한 OS(이전 버전)를 사용하여 이메일을 보낼 수 있었습니다.
  • AuthPass 값이 올바른지 확인하기 위해 이를 사용하여 Google 계정에 수동으로 로그인합니다.

답변1

다음 Google 설정을 사용하세요.

IMAP enabled
Allow less secure apps is ON

해결책은 다음을 설정하는 것입니다.애플리케이션 비밀번호: 여기에 이미지 설명을 입력하세요.

노트: Google의 애플리케이션 비밀번호 설정에서는 ssmtp를 구성하려는 계정에 대해 먼저 2단계 인증을 활성화해야 합니다.

/var/ssmtp/ssmtp.conf:

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# Modified 06/27/2020:
# mailhub=mail
[email protected]
[email protected]
#AuthPass=[usual gmail pwd] # aint' gonna work
AuthPass=[pwd generated by https://myaccount.google.com/apppasswords]
#UseTLS=YES
#mailhub=smtp.gmail.com:465
UseSTARTTLS=Yes
mailhub=smtp.gmail.com:587

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=laptop

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

터미널에서:

$echo "Testing...1...2...3" | ssmtp [email protected]

내 Gmail함으로 다음 내용을 받았습니다. 여기에 이미지 설명을 입력하세요.

첨부된:

  1. 설명 없이 투표를 반대하는 것은 볼 수 없습니다.
  2. 질문(첨부 파일)에 명시된 두 번째 요구 사항의 경우,mutt기적적으로 효과적.

2022년 12월 1일에 업데이트됨

사용하고 msmtp있기 때문에덜 안전한 앱장애가 있는

  1. 열려 있는2단계 인증
  2. 생성하다애플리케이션 비밀번호이름='msmtp' 사용
  3. 2)를 실행 $ touch ~/.msmtprc하고 사용하여 다음과 같이 내용을 수정합니다.
    # content of /home/user/.msmtprc
    # do: `$ chmod 600 /home/user/.msmtprc`
    # gmail
    account [email protected]
    host smtp.gmail.com
    port 587
    tls on
    tls_starttls on
    auth on
    user google-name
    from [email protected]
    # https://myaccount.google.com/apppasswords
    password xxxxxxxxxxxxxxxx
    # default account
    account default : [email protected]
  1. $ chmod 600 /home/user/.msmtp
  2. $ echo "Testing...1...2...3" | msmtp recipient.address@domain

이 내용은 BCC로 전송됩니다.이봐교체.

답변2

ssmtp버려진 소프트웨어입니다.

당신은 시도해야메일 전송 프로토콜대신에. 비슷해 보이지만 ssmtp더 잘 유지되고 더 많이 사용됩니다.

그리고 Gmail의 구성도 매우 간단합니다. 이 훌륭한 리소스를 확인해보세요아치스 위키

답변3

Google은 더 이상 '보안 수준이 낮은 앱 열기 허용' 옵션을 제공하지 않습니다. 2022년 5월 이후에는 이 옵션이 삭제됩니다.

https://support.google.com/accounts/answer/6010255?hl=zh-CN&utm_source=google-account&utm_medium=profile-less-secure-apps-card

옵션애플리케이션 비밀번호2단계 인증을 활성화하지 않으면 사용할 수 없습니다.

애플리케이션 비밀번호

애플리케이션 ssmtp를 추가하고 토큰을 생성한 다음 토큰을 애플리케이션 비밀번호 설정에 붙여넣습니다.

응용 프로그램 명령 토큰 생성

토큰을 복사하여 통합하려는 메일 애플리케이션의 비밀번호로 사용하십시오.

토큰 복사

여기에 이미지 설명을 입력하세요.

다음 활성화IMAPGmail에서

imap_enable

참고: 메일 클라이언트 애플리케이션 구성에서 SSL/TLS 옵션과 Not STARTTLS를 선택해야 합니다..

답변4

하지만 문제는 앞서 언급했듯이 인증 문제는 ssmtp여전히 해결될 수 있다는 것입니다. 해결책이 있다여기.

다음은 독자를 위한 솔루션 요약 버전입니다.

Google에서 appPassword 사용/구성

  • 아직 활성화되지 않은 경우 연결하려는 Gmail 계정에서 이중 인증을 활성화하십시오.
  • Google 계정에서 보안을 선택하세요. 'Google로 로그인'에서 '앱 비밀번호'를 선택하세요.
  • 여기에 애플리케이션에 대한 설명을 입력하세요. 나는 "Ubuntu에서 ssmtp"를 사용합니다.
  • 16자리 애플리케이션 비밀번호를 생성합니다. 받아 적어!
  • 마침을 클릭합니다.

이제 이메일을 보낼 컴퓨터에서 sudo nano를 실행하세요./etc/ssmtp/ssmtp.conf

[email protected]
mailhub=smtp.gmail.com:587  
FromLineOverride=YES
[email protected]
AuthPass=myAppPassword  # Note this is the password generated by google 
UseSTARTTLS=YES
UseTLS=YES

명확히 해야 할 것은 다음과 같습니다. AuthPass새로운 16자 애플리케이션 비밀번호여야 하며Gmail 비밀번호가 아닙니다..

이것은 Ubuntu Server 16.04 및 18.04 LTS에서 저에게 효과적이었습니다.

관련 정보