제가 얼마전에 질문을 드렸는데요맞춤 보낸 사람: 필드를 사용하여 이메일 보내기 그러나 여전히 exim4를 실행할 수 없습니다. 이메일은 보내지만 받을 수는 없습니다. 아마도 메일 서버 이름과 MX 구성 때문일 것이라고 확신합니다.
제어판에서 MX 기본 설정, TTL 및 메일 서버 값을 설정할 수 있습니다. 처음 두 개는 기본값(0, 6400)으로 두고 메일 서버를 "url.com"으로 설정했습니다(도메인 이름을 "url" 이름으로 바꿨습니다).
하지만 나 자신에게 이메일을 보내면 다음과 같은 내용을 받게 됩니다.
Unroutable address
메인 로그에. Linux 콘솔에서 "host -t mx url.com"을 실행하면 다음과 같은 결과가 나타납니다.
;; connection timed out; no servers could be reached
내 MX가 전혀 효과가 없는 것 같나요? 작동하게 하려면 어떻게 해야 하나요?
저는 이 주제를 처음 접했는데 "메일 서버"가 무엇을 의미하는지 잘 모르겠습니다. 이것이 "host" 명령으로 얻은 이름인가요? 아니면 "host -f"인가요? 아니면 "host -i"인가요? 아니면 다른 이름인가요? 정말 혼란스러워요. :/
이것은 /etc/exim4/update-exim4.conf.conf의 내용입니다:
# /etc/exim4/update-exim4.conf.conf
#
# Edit this file and /etc/mailname by hand and execute update-exim4.conf
# yourself or use 'dpkg-reconfigure exim4-config'
#
# Please note that this is _not_ a dpkg-conffile and that automatic changes
# to this file might happen. The code handling this will honor your local
# changes, so this is usually fine, but will break local schemes that mess
# around with multiple versions of the file.
#
# update-exim4.conf uses this file to determine variable values to generate
# exim configuration macros for the configuration file.
#
# Most settings found in here do have corresponding questions in the
# Debconf configuration, but not all of them.
#
# This is a Debian specific file
dc_eximconfig_configtype='internet'
dc_other_hostnames='url.com; mail.url.com; url; localhost; localhost.localdomain'
dc_local_interfaces='127.0.0.1; my_ip'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'
어쨌든 내 도메인 이름을 url로, ip를 my_ip로 바꿨습니다.
/etc/email-addresses는 매우 짧습니다.
root: [email protected]
및/etc/메일 이름
url.com
고쳐 쓰다:Windows에서 이 작업을 수행할 때:
nslookup -type=mx url.com
나는 다음과 같은 것을 얻습니다 :
Server: UnKnown
Address: probably_my_internet_provider's_gate_ip
Non-authoritative answer
url.com MX preference = 0, mail exchanger = url.com
업데이트 2: 이제 저는 정말 혼란스럽습니다. "dig mx url.com" 및 "host -t mx url.com"을 실행해 보았습니다.다른 메일 Linux 서버(내 것이 아님), 문제가 없는 것 같습니다. 예를 들어 마지막 결과는 다음과 같습니다.
url.com mail is handled by 0 url.com
그런데 내 이메일은 어디에 있나요? ~/Maildir에는 아무것도 표시되지 않습니다. "mail"을 실행하면 "루트 없는 메일"이라는 메시지가 나타납니다. 그러면 작동합니까, 아니면 작동하지 않습니까... 아니면 무엇입니까?
업데이트 3: 라우팅 문제인가요? 이제 다음에서 이메일을 보내려고 하면 알 수 있습니다.[이메일 보호됨], 다음 메시지와 함께 실패합니다.
"라우팅할 수 없는 주소"
~에 대한[이메일 보호됨]주소입니다(따라서 대상 "TO" 주소가 아니라 "FROM" 주소입니다). 이전에는(예: 한 달 전) 이런 일이 발생하지 않았으므로 일부 구성을 엉망으로 만들었을 수도 있습니다. :/
이렇게 하면 일부 웹 튜토리얼에서 제안하는 것처럼 다음과 같습니다.
exim4 -d -bt mail
알겠어요많은다양한 "라우터"(exim4 문서의 한 섹션을 읽었지만 올바르게 이해했는지조차 확신할 수 없음), 구체적으로 다음과 같습니다.
- hubbed_hosts router("라우터 건너뛰기: 도메인 불일치")
- dnslookup_relay_to_domains router("라우터 건너뛰기: 도메인 불일치")
- dnslookup router("라우터 건너뛰기: 도메인 불일치")
- real_local router("라우터 건너뛰기: 접두어 불일치")
- system_aliases router("system_aliases 라우터가 거부합니다.[이메일 보호됨]")
- userforward router("라우터 건너뛰기: 파일 검사")
- procmail router("라우터를 건너뛰었습니다: 파일 검사")
- maildrop router("라우터 건너뛰기: 파일 검사")
- lowuid_aliases router("라우터 건너뛰기: 조건 실패")
- local_user 라우터(아래 참조):
마지막 게시물은 다소 긴 답변으로 끝났습니다.
--------> local_user router <--------
local_part=mail domain=url.com
checking domains
cached yes match for +local_domains
cached lookup data = NULL
url.com in "+local_domains"? yes (matched "+local_domains" - cached)
checking local_parts
mail in "! root"? yes (end of list)
checking for local user
seeking password data for user "mail": using cached result
getpwnam() succeeded uid=8 gid=8
R: local_user for [email protected]
calling local_user router
local_user router called for [email protected]
domain = url.com
set transport maildir_home
queued for maildir_home transport: local_part = mail
domain = url.com
errors_to=NULL
domain_data=NULL localpart_data=NULL
routed by local_user router
envelope to: [email protected]
transport: maildir_home
[email protected]
router = local_user, transport = maildir_home
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=31821 terminating with rc=0 >>>>>>>>>>>>>>>>
이제 왜 "를 사용하는지 궁금합니다.[이메일 보호됨]", 아니요"[이메일 보호됨]"여기요? 이게 정상인가요?
가장 중요한 것은:내 경우, 즉 (지금은) "mail" 명령을 사용하여 명령줄에서 외부 이메일 주소로 메시지를 보내려고 할 때 어느 라우터에 관심을 두어야 합니까?
답변1
해결되었습니다. 모든 제안에 감사드립니다. 문제는 이름 서버에 있습니다. 결국 이제 이름을 올바르게 확인할 수 있습니다.