내 요구 사항은 다음과 같습니다
- 터미널에서 이메일 보내기(일괄 처리용)
- 해당 이메일에 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:587
VS 465UseTLS=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]
첨부된:
- 설명 없이 투표를 반대하는 것은 볼 수 없습니다.
- 질문(첨부 파일)에 명시된 두 번째 요구 사항의 경우,
mutt
기적적으로 효과적.
2022년 12월 1일에 업데이트됨
사용하고 msmtp
있기 때문에덜 안전한 앱장애가 있는
- 열려 있는2단계 인증
- 생성하다애플리케이션 비밀번호이름='msmtp' 사용
- 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]
$ chmod 600 /home/user/.msmtp
$ echo "Testing...1...2...3" | msmtp recipient.address@domain
이 내용은 BCC로 전송됩니다.이봐교체.
답변2
ssmtp버려진 소프트웨어입니다.
당신은 시도해야메일 전송 프로토콜대신에. 비슷해 보이지만 ssmtp
더 잘 유지되고 더 많이 사용됩니다.
그리고 Gmail의 구성도 매우 간단합니다. 이 훌륭한 리소스를 확인해보세요아치스 위키
답변3
Google은 더 이상 '보안 수준이 낮은 앱 열기 허용' 옵션을 제공하지 않습니다. 2022년 5월 이후에는 이 옵션이 삭제됩니다.
옵션애플리케이션 비밀번호2단계 인증을 활성화하지 않으면 사용할 수 없습니다.
애플리케이션 ssmtp를 추가하고 토큰을 생성한 다음 토큰을 애플리케이션 비밀번호 설정에 붙여넣습니다.
토큰을 복사하여 통합하려는 메일 애플리케이션의 비밀번호로 사용하십시오.
다음 활성화IMAPGmail에서
참고: 메일 클라이언트 애플리케이션 구성에서 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에서 저에게 효과적이었습니다.