sendmail로 테스트 이메일을 보내는 방법

sendmail로 테스트 이메일을 보내는 방법

/etc/hosts에 FQDN을 설정했습니다.

127.0.0.1 hostname.domain hostname
127.0.0.1 localhost
  • 그러나 실행하면 hostnameFQDN을 반환합니까?? 뭔가 문제가 있는 걸까요?

그런 다음 다음을 실행했습니다.sendmailconfig

나는 이것을 테스트에 사용했습니다. 그러나 성공적으로 보낼 수 없습니다... 다음과 같이 중단됩니다.echo "Subject: hello" | sendmail -v [email protected] < mail.txt

root@debianxx:~# echo "Subject: hello" | sendmail -v [email protected] < email.txt 
[email protected]... Connecting to [127.0.0.1] via relay...
220 debianxx.online ESMTP Sendmail 8.15.2/8.15.2/Debian-22; Sat, 19 Nov 2022 07:53:11 GMT; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
>>> EHLO debianxx.online
250-debianxx.online Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> VERB
250 2.0.0 Verbose mode
>>> MAIL From:<[email protected]> SIZE=47 [email protected]
250 2.1.0 <[email protected]>... Sender ok
>>> RCPT To:<[email protected]>
>>> DATA
250 2.1.5 <[email protected]>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .

'.'에 달려 있습니다. 내가 무엇을 입력하든 메시지가 표시됩니다.

  • 추신: 이미 nc -l 25.

sendmail 로그 편집:

Nov 19 12:21:14 simplysocial sendmail[7718]: alias database /etc/mail/aliases rebuilt by root
Nov 19 12:21:14 simplysocial sendmail[7718]: /etc/mail/aliases: 0 aliases, longest 0 bytes, 0 bytes total
Nov 19 12:21:14 simplysocial sm-mta[7784]: starting daemon (8.15.2): SMTP+queueing@00:10:00
Nov 19 12:21:29 simplysocial sendmail[8460]: alias database /etc/mail/aliases rebuilt by root
Nov 19 12:21:29 simplysocial sendmail[8460]: /etc/mail/aliases: 0 aliases, longest 0 bytes, 0 bytes total
Nov 19 12:21:31 simplysocial sm-mta[7784]: restarting /usr/sbin/sendmail-mta due to signal
Nov 19 12:21:31 simplysocial sm-mta[8510]: starting daemon (8.15.2): SMTP+queueing@00:10:00
Nov 19 12:21:52 simplysocial sendmail[8544]: 2AJCLq0k008544: from=root, size=47, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Nov 19 12:21:52 simplysocial sm-mta[8545]: 2AJCLqu9008545: from=<[email protected]>, size=335, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Nov 19 12:21:52 simplysocial sendmail[8544]: 2AJCLq0k008544: [email protected], ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30047, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (2AJCLqu9008545 Message accepted for delivery)

답변1

FQDN을 설정했지만 /etc/hosts호스트 이름을 실행하면 FQDN이 반환됩니까? 여기에 문제가 있나요?

아니요.

  1. 시스템의 호스트 이름에 대한 개념은 에 설정된 것과 설정되지 않은 것과 무관합니다 /etc/hosts.
    시스템 호스트 이름은 일반적으로 배포별 방식으로 부팅 시간을 설정하는 커널 조정 가능 항목입니다(예: sysctl kernel.hostname 또는 참조 cat /proc/sys/kernel/hostname)(시스템 기반 호스트에서는 일반적으로 다음을 사용하여 시스템 호스트 이름을 구성합니다).hostnamectl) 호스트 이름은 명령이나 또는 등과 hostname some.name같은 유사한 명령을 사용하여 런타임에 변경될 수 있습니다 . 변경 사항이 지속되거나 다음 재부팅 시 호스트 이름이 되돌아가는 방법에 따라 다릅니다.sysctl kernel.hostname=some.namehostnamectl set-hostname some.name

  2. some.name관례가 있기는 하지만 일반적으로 호스트 이름이 짧은 단일 레이블 hostname또는 FQDN 이어야 한다는 실제(기술적) 요구 사항은 없습니다 hostname.example.com.. 둘 다 허용됩니다. 예를 참조하세요.호스트 이름 설정: FQDN 또는 짧은 이름?

  3. FQDN을 호스트 이름으로 설정하면 hostname명령과 hostname --fqdn명령 모두 FQDN을 반환합니다.


주목해야 할 점은sendmail 명령은 사용자 인터페이스 루틴으로 의도된 것이 아니며 명령줄에서 메일을 보내는 데 훨씬 더 나은 유틸리티가 있습니다. 예를 들어 고전적인 mail명령 mailx.

sendmail이 시스템 로그에 오류 메시지를 기록하고 있습니까?

출력은 Connecting to [127.0.0.1] via relay.sendmail 전문 용어로 "스마트 호스트"인 릴레이를 사용하여 sendmail을 구성했음을 나타냅니다.

해당 릴레이에 도달할 수 있나요?

관련 정보