Sendmail SMTP "내 부적격 호스트 이름" 및 "내 부적격 도메인 이름"

Sendmail SMTP "내 부적격 호스트 이름" 및 "내 부적격 도메인 이름"

최근에 "ironfist-droplet"이라는 서버에 내 웹사이트(ironfi.st)용 SMTP 메일 서버를 설정했습니다. WP-SMTP-MAIL 플러그인을 사용하고 있습니다. apache2 서버를 설정하고 모든 것을 올바르게 구성했습니다. 사용: 이메일이 서버에서 광산으로 완벽하게 전송됩니다. 하지만 WP-MAIL-SMTP 플러그인을 사용하여 테스트 이메일을 보내면 전송되지 않습니다.echo "Subject: sendmail test" | sendmail -v [email protected]

이로 인해 호스트 파일에 문제가 있을 수 있다고 생각됩니다 /etc/hosts. 호스트 파일에 넣은 내용은 다음과 같습니다.

127.0.0.1 localhost localhost.localdomain 192.168.1.10 ironfist-droplet ironfist-droplet.ironfi.st ironfi.st

아래는 내 메일 로그 파일입니다.

Feb 17 10:59:18 ironfist-droplet sendmail[3223]: v1HFxI2U003223: from=root, size=196, class=0, nrcpts=1, msgid=<201702171559.v1HFxI2U003223@ironfist-droplet>, relay=root@localhost
Feb 17 10:59:18 ironfist-droplet sm-mta[3225]: v1HFxIYv003225: from=<root@ironfist-droplet>, size=455, class=0, nrcpts=1, msgid=<201702171559.v1HFxI2U003223@ironfist-droplet>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Feb 17 10:59:18 ironfist-droplet sendmail[3223]: v1HFxI2U003223: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30196, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (v1HFxIYv003225 Message accepted for delivery)
Feb 17 10:59:18 ironfist-droplet sm-mta[3226]: v1HFxIYv003225: to=<root@ironfist-droplet>, ctladdr=<root@ironfist-droplet> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30682, dsn=2.0.0, stat=Sent
Feb 17 11:04:35 ironfist-droplet sendmail[3261]: v1HG4ZrO003261: from=root, size=196, class=0, nrcpts=1, msgid=<201702171604.v1HG4ZrO003261@ironfist-droplet>, relay=root@localhost
Feb 17 11:04:35 ironfist-droplet sm-mta[3263]: v1HG4ZWL003263: from=<root@ironfist-droplet>, size=455, class=0, nrcpts=1, msgid=<201702171604.v1HG4ZrO003261@ironfist-droplet>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Feb 17 11:04:35 ironfist-droplet sendmail[3261]: v1HG4ZrO003261: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30196, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (v1HG4ZWL003263 Message accepted for delivery)
Feb 17 11:04:35 ironfist-droplet sm-mta[3264]: v1HG4ZWL003263: to=<root@ironfist-droplet>, ctladdr=<root@ironfist-droplet> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30682, dsn=2.0.0, stat=Sent
Feb 17 11:04:48 ironfist-droplet sendmail[3269]: v1HG4mAm003269: from=root, size=196, class=0, nrcpts=1, msgid=<201702171604.v1HG4mAm003269@ironfist-droplet>, relay=root@localhost
Feb 17 11:04:48 ironfist-droplet sm-mta[3271]: v1HG4muh003271: from=<root@ironfist-droplet>, size=455, class=0, nrcpts=1, msgid=<201702171604.v1HG4mAm003269@ironfist-droplet>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Feb 17 11:04:48 ironfist-droplet sendmail[3269]: v1HG4mAm003269: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30196, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (v1HG4muh003271 Message accepted for delivery)
Feb 17 11:04:48 ironfist-droplet sm-mta[3272]: v1HG4muh003271: to=<root@ironfist-droplet>, ctladdr=<root@ironfist-droplet> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30682, dsn=2.0.0, stat=Sent
Feb 18 09:39:26 ironfist-droplet sendmail[9396]: v1IEdQfV009396: from=root, size=14, class=0, nrcpts=2, msgid=<[email protected]>, relay=root@localhost
Feb 18 09:39:26 ironfist-droplet sm-mta[9397]: v1IEdQrA009397: from=<[email protected]>, size=305, class=0, nrcpts=2, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Feb 18 09:39:26 ironfist-droplet sm-mta[9397]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128
Feb 18 09:39:27 ironfist-droplet sm-mta[9397]: v1IEdQrA009397: to=<[email protected]>, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=60305, relay=gmail-smtp-in.l.google.com. [173.194.204.26], dsn=2.0.0, stat=Sent (OK 1487428767 a63si3981733qkb.149 - gsmtp)
Feb 18 09:43:27 ironfist-droplet sm-mta[9397]: v1IEdQrA009397: to=<[email protected]>, delay=00:04:01, xdelay=00:04:00, mailer=esmtp, pri=60305, relay=ironfist-droplet.ironfi.st. [192.168.1.10], dsn=4.0.0, stat=Deferred: Connection timed out with ironfist-droplet.ironfi.st.
Feb 18 09:43:27 ironfist-droplet sendmail[9396]: v1IEdQfV009396: to=Example,[email protected], ctladdr=root (0/0), delay=00:04:01, xdelay=00:04:01, mailer=relay, pri=60014, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (v1IEdQrA009397 Message accepted for delivery)
Feb 18 09:55:23 ironfist-droplet sm-mta[9426]: v1IEdQrA009397: to=<[email protected]>, delay=00:15:57, xdelay=00:04:15, mailer=esmtp, pri=150305, relay=ironfist-droplet.ironfi.st. [192.168.1.10], dsn=4.0.0, stat=Deferred: Connection timed out with ironfist-droplet.ironfi.st.

보시다시피 제가 ironfist-droplet.ironfi.st입력한 내용 에 연결하려고 시도하다가 /etc/hosts시간이 초과되었습니다.

다음은 내 이메일 오류 로그에 대한 첨부 파일입니다.

Jan 24 23:21:47 ironfist-droplet sendmail[2417]: My unqualified host name (ironfist-droplet) unknown; sleeping for retry
Jan 24 23:22:47 ironfist-droplet sendmail[2417]: unable to qualify my own domain name (ironfist-droplet) -- using short name
Jan 24 23:22:47 ironfist-droplet sm-mta[2486]: My unqualified host name (ironfist-droplet) unknown; sleeping for retry
Jan 24 23:22:50 ironfist-droplet sm-msp-queue[2491]: My unqualified host name (ironfist-droplet) unknown; sleeping for retry
Jan 24 23:23:47 ironfist-droplet sm-mta[2486]: unable to qualify my own domain name (ironfist-droplet) -- using short name
Jan 24 23:23:50 ironfist-droplet sm-msp-queue[2491]: unable to qualify my own domain name (ironfist-droplet) -- using short name

위에 표시된 대로 ironfist-droplet에서 호스트 이름과 도메인 이름을 확인하는 데 문제가 있습니다. 나는 이것에 익숙하지 않고 스스로에게 도전하고 경험을 쌓기 위한 방법으로 SMTP 서버를 설정하는 작업을 맡았습니다. 나는 이 모든 것에 대해 매우 새로운 것입니다. 그러나 이 증거를 토대로 나는 호스트 파일에 정보를 넣는 방식에 문제가 있다는 결론을 내렸습니다. 그러나 내가 확신하는 두 가지 정보가 있습니다.

호스트 이름은 ironfist-droplet이고, hostname -fironfist-droplet이 반환되며, 두 번째 줄의 개인 IP가 정확하고, hostname -i192.168.1.10이 반환됩니다. 온라인에서 찾아봤지만 다른 사람의 호스트 파일과 내 호스트 파일을 잘 비교할 수 없습니다.

내가 호스트 파일을 넣는 방식과 관련된 문제에 대한 버그나 해결책을 발견한 사람이 있으면 언제든지 알려주시기 바랍니다. 모든 도움에 감사드립니다.

전체 호스트 파일:

# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data
127.0.0.1 localhost localhost.localdomain
192.168.1.10 ironfist-droplet ironfist-droplet.ironfi.st ironfi.st

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

도메인 이름 정보:

Version 8.14.4
 Compiled with: DNSMAP LDAPMAP LDAP_REFERRALS LOG MAP_REGEX MATCHGECOS
        MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX
        NEWDB NIS NISPLUS PIPELINING SASLv2 SCANF SOCKETMAP STARTTLS
        TCPWRAPPERS USERDB USE_LDAP_INIT XDEBUG

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = ironfist-droplet
  (canonical domain name) $j = ironfist-droplet.ironfi.st
         (subdomain name) $m = ironfi.st
              (node name) $k = ironfist-droplet
========================================================

답변1

일반적으로 정규화된 호스트 이름이 먼저 나열되어야 합니다 /etc/hosts.

192.0.2.0 foo.example.org foo bar

시스템 호스트 이름도 정규화되어야 합니다. Sendmail(및 아마도 통신할 수 있는 대부분의 원격 MTA)은 정규화된 도메인 이름이 모든 곳에 설정되어 있지 않으면 매우 만족스럽지 않을 것입니다. 예를 들어 내 데스크탑(MTA이기도 함)은 다음과 같습니다.

# sendmail -bt -d0.1 </dev/null
Version 8.15.2
 Compiled with: DNSMAP IPV6_FULL LOG MAP_REGEX MATCHGECOS MILTER
                MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS
                PIPELINING SCANF SOCKETMAP STARTTLS USERDB XDEBUG

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = foo
  (canonical domain name) $j = foo.example.edu
         (subdomain name) $m = example.edu
              (node name) $k = foo.example.edu
========================================================

ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> #
# cat /etc/myname
foo.example.edu
#

myname이(호스트 이름 파일에 표시된 OpenBSD) 시스템은 DNS와아니요이상적인 구성은 DNS를 사용하는 것입니다. 가능하지 않은 경우 가져오고 수정하고(특히 위 출력의 및 hostname/etc/hosts) $j가능 하지 않은 경우 규칙 세트 값을 설정합니다.$m$k

관련 정보