설치하다

설치하다

지난 며칠 동안 저는 웹 애플리케이션에서 보낸 모든 메일을 처리하도록 Exim4를 설정하려고 노력해 왔습니다.

작동하는 것 같지만 EHLO와 함께 전송될 호스트 이름을 하드코딩하는 방법을 찾지 못했습니다. (설정하고 싶지 않습니다 /etc/hostname.)

구성에 언급된 변수를 찾았 MAIN_HARDCODE_PRIMARY_HOSTNAME지만 이를 설정할 방법을 찾지 못했습니다. 이 변수가 호스트 이름을 설정하는 가장 간단한 방법입니까, 아니면 더 좋은 방법이 있습니까?

다음은 전체 설치/구성입니다. 내가 뭐 놓친 거 없니?

Exim version 4.92 Debian Buster 10

설치하다

apt-get install exim4-daemon-light

Exim4 구성

dpkg-reconfigure exim4-config

Type:           internet site
FQDN:           smtp.mydomain.com
SMTP listener:      (empty)
Mail destinations:  (empty)
Domain relay:       (empty)
Machine relay:      (empty)
DNS queries minimal:    No
Delivery method:    Maildir
Split conf files:   No

TLS 활성화 및 인증서 생성

printf "MAIN_TLS_ENABLE = true\n" >> /etc/exim4/exim4.conf.localmacros
/usr/share/doc/exim4-base/examples/exim-gencert

역방향 DNS 확인(IP -> smtp.mydomain.com)

https://mxtoolbox.com/ReverseLookup.aspx

IPv6 받기

ip -6 addr | grep inet6 | awk -F '[ \t]+|/' '{print $3}' | grep -v ^::1 | grep -v ^fe80

/etc/호스트

[ipv4]  smtp.mydomain.com
[ipv6]  smtp.mydomain.com

"/etc/exim4/exim4.conf.template" 주석 해제

# plain_server:
# driver = plaintext
# public_name = PLAIN
# server_condition = "${if crypteq{$3}{${extract{1}{:}{${lookup{$2}lsearch{CON$
# server_set_id = $2
# server_prompts = :
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif

사용자/비밀번호 추가 -> '/etc/exim4/passwd'

/usr/share/doc/exim4-base/examples/exim-adduser

DKIM/SPF

서버에 DKIM 키를 설정하고 DNS에 DKIM/SPF를 설정했는데 둘 다 작동합니다.

답변1

REMOTE_SMTP_HELO_DATA = whatever.you.want.Debian 패키지 는 /etc/exim4/exim4.conf.localmacros4.69-10부터 지원합니다 . 에서 /usr/share/doc/exim4/changelog.Debian.gz:

  • REMOTE_SMTP_HELO_DATA 매크로를 직접 설정하여 나가는 smtp helo/ehlo를 설정할 수 있습니다. 이전에는 REMOTE_SMTP_HELO_FROM_DNS에 대한 도우미 매크로로만 사용되어야 했습니다. REMOTE_SMTP_HELO_FROM_DNS는 수동 REMOTE_SMTP_HELO_DATA 데이터 설정을 재정의합니다. 폐쇄:#514113

Debian 구성 템플릿은 이 매크로를 사용하여 데이터를 채웁니다.helo_data SMTP 전송 옵션.

관련 정보