문제

저는 방화벽 뒤의 네트워크에 있는 서버를 설정하고 있으며 이 컴퓨터의 프로그램이 sendmail을 사용하여 모든 이메일 주소로 이메일을 보낼 수 있기를 원합니다.이 네트워크(mailrelay.example.com이라고 함)에서 실행되는 SMTP 서버가 있는데, 이는 방화벽을 통해 나가는 이메일을 받는 방법입니다.

그렇다면 mailrelay.example.com을 통해 모든 메일을 보내도록 sendmail을 어떻게 구성합니까?인터넷 검색은 아직 답변을 제공하지 않았으며 sendmail 구성이 매우 복잡하고 짜증난다는 것만 공개했습니다.

도움이 되었습니까?

해결책

@엘리:sendmail.cf는 매크로 컴파일러에 의해 생성되므로 직접 수정하는 것은 일반적으로 권장되지 않습니다.

다음 줄을 포함하도록 /etc/mail/sendmail.mc를 편집합니다.

  define(`SMART_HOST',`mailrelay.example.com')dnl 

sendmail.mc 매크로 구성 파일을 변경 한 후에는 SendMail 구성 파일을 생성하려면 다시 컴파일해야합니다.

  # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

그리고 sendmail 서비스를 다시 시작합니다(Linux):

  # /etc/init.d/sendmail restart

스마트호스트를 설정하는 것 외에도 이름 확인 구성을 비활성화하고 sendmail을 비표준 포트로 전환하거나 데몬 모드를 비활성화할 수도 있습니다.

이름 확인 비활성화

화재 벽 네트워크 내에 있거나 네트워크 주소 변환 (NAT)을 사용하는 서버에는 DNS 또는 NIS 서비스가 없을 수 있습니다.이것은 기본적으로 DNS를 사용하기 때문에 SendMail에 문제가 발생하며 사용할 수없는 경우 MailQ에서 이와 같은 메시지가 표시됩니다.

  host map: lookup (mydomain.com): deferred)

SendMail이 사용할 수있는 적절한 DNS 또는 NIS 서비스를 설정할 준비가되지 않은 한,이 상황에서 일반적으로 /etc /hosts 파일을 사용하여 수행하도록 이름 해상도를 구성합니다.이는 'service.switch'파일을 활성화하고 다음과 같이 파일별로 해상도를 지정하여 수행됩니다.

1:sendmail for sendit.switch enable sendit.switch edit /etc/mail/sendmail.mc를 포함하려면 : 라인을 포함하십시오.

  define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

2:fore for Files for Files for Files/etc/mail/service.switch를 작성하거나 수정하여 이름 해상도를 위해/etc/hosts를 참조하십시오.

  # cat /etc/mail/service.switch
  hosts files

삼:이 설정을 적용하려면 sendmail.mc를 다시 컴파일하고 sendmail을 다시 시작하세요.

sendmail을 비표준 포트로 전환하거나 데몬 모드를 비활성화합니다.

기본적으로 sendmail은 포트 25에서 수신 대기합니다.이 포트를 변경하거나 Sendmail 데몬 모드를 여러 가지 이유로 비활성화 할 수 있습니다.- 잘 알려진 포트 사용을 금지하는 보안 정책이있는 경우 - 다른 SMTP 제품/프로세스가 표준 포트의 동일한 호스트에서 실행중인 경우 SMTP를 통해 메일을 전혀 수락하지 않으려면 SendMail을 사용하여 보내십시오

1:비표준 포트를 사용하도록 sendmail을 이동합니다./etc/mail/sendmail.mc를 편집하고 다음 줄에서 "포트" 설정을 수정합니다.

  DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

예를 들어, sendmail이 포트 125를 사용하도록 하려면:

  DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')

이렇게 하려면 sendmail.mc를 다시 컴파일하고 sendmail을 다시 시작해야 합니다.

2:또는 Sendmail 데몬 모드를 모두 비활성화하려면 (Linux) 편집/etc/sysconfig/sendmail 편집하고 "데몬"설정을 수정하십시오.

  DAEMON=no

이 변경으로 인해 sendmail을 다시 시작해야 합니다.

다른 팁

http://www.elandsys.com/resources/sendmail/smarthost.html

센드메일 스마트호스트

Smarthost는 나가는 메일이 전달되는 호스트입니다.일부 ISP는 나가는 SMTP 트래픽 (포트 25)을 차단하고 사용자는 ISP의 메일 서버를 통해 모든 메일을 보내야합니다.SendMail은 ISP의 메일 서버를 스마트 호스트로 사용하도록 구성 할 수 있습니다.

이를 설정하는 방법에 대한 지침은 링크된 문서를 읽어보세요.

@에스포:어디서부터 시작해야 할지 좋은 조언을 주셔서 감사합니다.기존 구성을 사용하여 작은 변경을 하는 대신 처음 사용하기 위해 sendmail을 구성했다면 귀하의 링크가 더 좋았을 것입니다.그러나 "SmartHost"에서 검색하는 방법을 알고 나면 더 쉬운 방법을 찾았습니다.

내가 해야 할 일은 /etc/mail/sendmail.cf 파일을 편집하여 변경하는 것뿐이었습니다.

DS

에게

DSmailrelay.example.com

그런 다음 sendmail을 다시 시작하면 작동했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top