비밀번호로 보호 된 SSL smtp 메일 서버를 통해 메일을 보내도록 exim4를 어떻게 구성합니까?


19

cronjobs가 내 집 컴퓨터에서 메일을 보낼 수 있기를 바랍니다. 내 서버는 다음과 같이 exim4를 구성합니다.

dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'

그러나 집에서는 ISP가 방화벽을 통해 직접 보낸 메일을 차단합니다. 메일을 라우팅 할 수있는 암호로 보호 된 SSL smtp 서버가 있지만이 작업을 수행하기 위해 exim4를 구성하는 방법을 알아내는 데 실패했습니다. 누군가가 호스트 이름, 사용자 이름, 암호를 연결하고 단일 SMTP 서버를 통해 메일을 보내도록 "ssl 사용"할 수있는 구성 예제를 제공 할 수 있기를 바랍니다.

답변:


25

실제로 Tony Scelfo가 실제로 작동 하는 자세한 지침을 찾았습니다 . 포트 587에서 TLS (Transport Layer Security)를 사용해야하는 것으로 보입니다. SSL SMTP가 작동하지 않았습니다.

먼저 sudo dpkg-reconfigure exim4-config다음 구성 옵션을 실행 하고 사용하십시오.

  • 일반적인 메일 구성 유형 : smarthost가 보낸 메일; SMTP 또는 페치 메일을 통해 수신
  • 시스템 메일 이름 : <호스트 이름>
  • 들어오는 SMTP 연결을 수신 대기 할 IP 주소 : 127.0.0.1
  • 메일이 허용되는 다른 대상 : <호스트 이름>
  • 기계는 메일을 릴레이 : <이 비워 둡니다>
  • 발신 스마트 호스트의 IP 주소 또는 호스트 이름 : mail.example.com::587
  • 발신 메일에서 로컬 메일 이름을 숨기시겠습니까?
    • 예-모든 발신 메일이 Gmail 계정에서 온 것으로 보입니다.
    • 아니요-유효한 발신자 이름 헤더와 함께 발송 된 메일은 발신자 이름을 유지합니다.
  • DNS 쿼리 수를 최소화 (주문형 다이얼)합니까? 아니
  • 현지 우편물 배달 방법 : <원하는 것을 선택하십시오>
  • 구성 파일을 작은 파일로 분할 하시겠습니까? 예 (다음 파일 중 하나를 편집해야 함)

그런 sudo vi /etc/exim4/passwd.client다음 메일 호스트에 대해 다음 행을 실행 하여 추가하십시오 nslookup. <이메일 주소>와 <비밀번호>를 메일을 라우팅하려는 계정으로 대체하십시오.) :

mail.example.com:<email address>:<password>
mail.yourhosting.provider:<email address>:<password>

passwd.client파일 을 편집 한 후에 sudo update-exim4.conf는 변경 사항을 Exim4 구성에 통합합니다.

실행 sudo /etc/init.d/exim4 restart및 서비스가 중지되고 올바르게 시작되었는지 확인합니다. 서비스를 다시 시작할 수 없으면 passwd.client파일 을 편집 할 때 문제가 발생했을 수 있습니다.

Exim4가 다시 시작되면 계속 sudo tail -f /var/log/exim4/mainlog해서 메일 로그를 확인하십시오. 다른 창에서 시스템에서 전자 메일을 보내고 레코드가 함께 표시되는지 확인하십시오 R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16. 이는 X=TLS메일이 원하는 전송 계층 보안으로 전송됨을 의미합니다.


1
/etc/exim4/passwd.client별도의 파일 이기 때문에 "구성 파일을 작은 파일로 분리"할 필요가 없습니다 .
CMD

SMTP 포트를 지정하면 모든 메일 서버에서 작동하지 않을 수 있습니다. 그러나 exim4메일 서버가 제공하는 경우 기본 SMTP 포트와 함께 TLS를 사용합니다. 다음 X=정보를 확인 하십시오./var/log/exim4/mainlog
Run CMD

정확한 방향을 알려주십시오. 질문을 복제하고 싶지 않습니다. 모든 사용자가 HOME 디렉토리에 자신의 stmp 암호를 설정하려면 어떻게해야합니까? exim4는 다양한 passwd.client를 찾을 수 있습니까? Tx
Dr Beco

저에게 새로운 질문 인 것 같습니다
Stephen Ostermiller

@DrBeco이 질문 또는 답변과 관련이없는 특정 질문이 있는 경우 질문으로 질문하십시오 .
토마스 워드

5

ISP에 인증이 필요한 경우 다음과 같이 dc_smarthost를 ISP가 사용하는 메일 서버 호스트 이름 및 포트 조합으로 설정하고 dc_eximconfig_configtype을 "smarthost"로 설정해야합니다.

dc_eximconfig_configtype='smarthost'
dc_smarthost='mail.example.com::587'

그런 다음 자격 증명을 추가하여 다음과 같이 할 수 있습니다 /etc/exim4/passwd.client.

mail.example.com:username:password

그런 다음 exim4 서버를 통해 전송 된 모든 메일은이 메일 호스트를 통해 라우팅됩니다.


10
update-exim4.conf에서 스마트 호스트 줄에 두 개의 콜론을 넣었습니다 dc_smarthost='mail.example.com::587'. 마침내 메일을 보내기 시작했습니다.
Marcos

+1 이것은 많은 튜토리얼에서 본 매우 일반적인 실수입니다.
TwystO

4

이것은 나를 위해 아주 잘 작동합니다. 내 ISP는 포트 25를 사용 dc_smarthost='myisp.mail.server:25' 하고이 파일을 변경 한 후 명령을 실행합니다.

  1. update-exim4.conf
  2. /etc/init.d/exim4 restart

exim4 classic 샘플을 통해 이메일을 보내는 테스트를 한 후 :

echo "content of mail body with pt-br chars ação avião língua é essa em 1609." | mail -s "Confirmar 16DOM" my-user-in-isp@my-domain-url

그리고 my-userin in의 받은 편지함으로 이동 my-domain-url합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.