smtp 서버를 지정할 때 Mutt가 이메일을 보내지 않습니다.

smtp 서버를 지정할 때 Mutt가 이메일을 보내지 않습니다.

mutt이메일 클라이언트로 사용하려고 하는데 Gmail 계정에서 잘 작동합니다. 그런데 업무용 이메일을 사용하면 이메일이 전송되지 않습니다. 오류가 발생하지 않고 전송되지 않습니다. .muttrc이 문제를 일으키는 내 파일의 줄은 다음과 같습니다.

smtp_url = "smtp://mail.my_work_email_server.com:587" 설정

을 추가할 때 동작은 변경되지 않으며 smtp_pass이메일 서버의 이름을 변경해도(예: '가상' 서버 주소 사용) 변경되지 않습니다.

답변1

나는 똑같은 것을 가지고 있었고 이것이 나를 위해 일한 것입니다.

set ssl_starttls=yes
set ssl_force_tls=yes

set imap_user = "[email protected]"
set imap_pass = "!HASHEDPASSWORD!"
set folder = imap://mail.example.com/
set spoolfile = imap://mail.example.com/INBOX

# SMTP user auth
# # fill in the right user and pass based on your setup
# # protocols: smtp for TLS (25/587), smtps for SSL (465)
set smtp_url = "smtp://[email protected]:587"
set smtp_pass = "$imap_pass"

# Where to save copies of outgoing mail
set record = '+Sent'

나를 위해 작동하지 않게 만든 것은 구성 파일에 있는 항목의 순서와 존재하지 않는 폴더에 대한 링크인 폴더에 대한 '기록 설정'에 대한 정의였습니다.

폴더 생성에 대한 질문에 '아니요'라고 대답하면 폴더가 정지되고 SMTP 서버로 향하는 트래픽이 표시되지 않습니다.

PS: 소스 구성 파일을 확인하세요. 충돌하는 설정 및/또는 잘못된 순서를 지정할 수 있습니다.

HTH

답변2

해당 컴퓨터의 다른 메일 클라이언트를 사용하여 SMTP를 통해 메일을 성공적으로 보낼 수 있습니까? SMTP 서버에 텔넷으로 연결하여 연결할 수 있습니까? STARTTLS를 사용하고 있습니까?

mutt에서는 프로토콜을 사용하여 smtps처음부터 TLS/SSL로 보호되는 연결을 나타냅니다. 귀하의 메일 서버가 이를 기대하고 있다면(요즘 많은 사람들이 그렇게 하고 있습니다), 그것이 문제가 될 수 있습니다.

그러나 메일 서버에서 를 사용할 것으로 예상되는 경우 에서 STARTTLS일반 smtp://프로토콜을 사용하고 .smtp_urlset ssl_starttls=yes

telnet다음은 STARTTLS를 사용하는 메일 서버를 보여주는 세션 예입니다 .

$ telnet smtp.example.com 587
Trying 127.0.0.1...
Connected to smtp.example.com.
Escape character is '^]'.
220 smtp.example.com ESMTP Postfix (Debian/GNU)
EHLO test
250-
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

답변3

나는 하루 종일 이것을 알아내고 다양한 SSL/TLS와 포트 구성 사이의 많은 조합을 조정했지만 성공하지 못했습니다. 오늘까지 나는 마침내 이것을 구체적으로 시도했습니다.

set ssl_starttls = no

mutt의 기본 동작은 STARTTLS를 시도하는 것 같으므로 구체적으로 알려주어야 합니다.하지 않다

명백한 smtp_urlsmtp_pass. 이제 이걸로 완벽하게 메일을 보낼 수 있어요.muttrc

set ssl_starttls = no
set smtp_url = "smtp://[email protected]@mail.example.com:587/"
set smtp_pass = "password"

그게 효과가 있었어권장되지 않음내 이메일 제공업체의 SSL 구성. 465 포트를 사용하여 권장 구성을 여전히 사용할 수 없습니다.

다음은 다른 사람이 시도하려는 경우 메일 전송에 영향을 미치도록 조정한 모든 구성입니다.

set ssl_starttls = no    # apparently yes is default.
set ssl_force_tls = yes
set smtp_authenticators = "login"

set smtp_url = "smtp[s]://..."
set certificate_file = "~/.mutt/certificates"    # some recommend creating the file first: mkdir ~/.mutt && touch ~/.mutt/certificates

set ssl_verify_host = no
set ssl_verify_dates = no

답변4

이것이 오래된 스레드라는 것을 알고 있지만 어제 위에서 언급한 구성이 나에게 적합하지 않은 이유를 추적하는 데 두 시간이 걸렸으며 다른 사람들의 시간을 절약하기 위해 솔루션을 공유하고 싶습니다.

문제는 Google의 SMTP 서버에서 인증서를 한 번 이상 수락해야 한다는 것이었습니다. 이를 위해서는 입력을 리디렉션하지 않고 mutt를 실행해야 합니다. 그렇지 않으면 mutt가 인증서를 수락하라는 메시지를 표시할 수 없습니다.

그런데 인증서를 에 저장하려면 항상 (a)를 선택해야 합니다 .mutt/certificates. (o)를 한 번만 선택하면 제공된 인증서를 사용하지만 에 저장하지는 않습니다  .mutt/certificates.

따라서 입력을 리디렉션하지 않고 mutt를 실행한 다음(표준 입력으로의 파이프 포함) 제공된 인증서를 수락합니다.항상. 그 후 다음에 mutt를 실행하면 저장된 인증서를 사용하기 때문에 제대로 작동할 것입니다.

관련 정보