%3F.png)
나는하고 싶다엑심 사용내 ISP의 SMTP 서버를 통해 이메일을 보내려면 그러나, 그아치 위키매우 혼란스럽습니다(데비안 시스템에서는 exim이 훨씬 간단합니다). 나는마지막 섹션mail.internode.on.net
, SMTP 주소를 에서 내 SMTP 서버로 수정 하고 로 수정합니다 . 이것은 ISP를 통해 인터넷에 연결되었을 때 작동했습니다.*@* [email protected] Ffr
*@* $1@my_emaildomain.com Ffr
하지만 회사 네트워크에서 이것을 사용하려면 인증이 필요합니다. URL을 변경하면서 Gmail에 나열된 지침을 따르려고 했지만 실패했습니다.
authenticator iinet_route: cannot find authenticator driver "manualroute"
인증을 설정 exim
하려면 어떻게 해야 하나요? (FWIW 나랑 같이 있어iinet.)
편집하다
나는 "Gmail"과 같은 설정을 잘못된 부분에 넣었다는 것을 깨달았습니다. 다른 곳으로 옮겼는데 더 이상 오류 메시지가 표시되지 않습니다. 그러나 exim
이제 자동으로 실패합니다. 오류 메시지는 나타나지 않지만 메일이 배달되지 않습니다.
공장 기본값에 대한 변경 사항은 다음과 같습니다.
--- exim.conf.factory_default 2015-08-03 02:14:31.000000000 +1000
+++ exim.conf 2015-11-10 08:09:54.196287461 +1100
@@ -402,7 +402,7 @@
# Deny unless the sender address can be verified.
- require verify = sender
+ #require verify = sender
# Accept if the message comes from one of the hosts for which we are an
# outgoing relay. It is assumed that such hosts are most likely to be MUAs,
@@ -552,14 +552,19 @@
# If the DNS lookup fails, no further routers are tried because of the no_more
# setting, and consequently the address is unrouteable.
-dnslookup:
- driver = dnslookup
- domains = ! +local_domains
- transport = remote_smtp
- ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
+#dnslookup:
+# driver = dnslookup
+# domains = ! +local_domains
+# transport = remote_smtp
+# ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
# if ipv6-enabled then instead use:
# ignore_target_hosts = <; 0.0.0.0 ; 127.0.0.0/8 ; ::1
- no_more
+# no_more
+
+iinet_route:
+ driver = manualroute
+ transport = iinet_relay
+ route_list = * mail.iinet.net.au
# This alternative router can be used when you want to send all mail to a
@@ -735,6 +746,12 @@
address_reply:
driver = autoreply
+iinet_relay:
+ driver = smtp
+ port = 587
+ hosts_require_auth = <; $host_address
+ hosts_require_tls = <; $host_address
+
######################################################################
@@ -769,6 +786,7 @@
# There are no rewriting specifications in this default configuration file.
begin rewrite
+*@* [email protected] Ffr
@@ -821,6 +839,12 @@
# server_advertise_condition = ${if def:tls_in_cipher }
+iinet_login:
+ driver = plaintext
+ public_name = LOGIN
+ hide client_send = : [email protected] : PASSWORD_HERE
+
+
######################################################################
# CONFIGURATION FOR local_scan() #
######################################################################
그리고여기내 전체 구성 파일입니다.
편집 2
또한 포트를 465로 변경해 보았지만 자동으로 실패했습니다. (FWIW 587은 msmtp에서 잘 작동합니다.)
편집 3
을(를) 사용하여 실패한 이메일에 대한 정보는 다음과 같습니다 exim -Mvl
. 원래 전송 시도가 사용됨echo body | /usr/bin/mail -s subject -r [email protected] [email protected]
2015-11-10 11:53:39 Received from [email protected] U=sparhawk P=local S=428 id=20151110005339.ag4kfrHaJ%[email protected]
2015-11-10 11:53:41 [email protected] R=iinet_route T=iinet_relay defer (-42): authentication required but authentication attempt(s) failed
편집 4
편집 3에 따라 mail 명령을 다시 실행했는데 약간 다른 오류가 발생했습니다. 나는 또한exim -d+all -M messageID <ID>
$ sudo exim -Mvl 1ZwMHr-0008I4-92
2015-11-11 14:41:31 Received from [email protected] U=lee P=local S=426 id=20151111034131.VRuQn__aN%[email protected]
2015-11-11 14:41:31 [email protected] R=iinet_route T=iinet_relay defer (-53): retry time not reached for any host
전체 디버그 출력은여기.
답변1
발생한 오류에 따르면 Wiki의 Gmail 예제 스탠자를 잘못된 섹션에 넣었습니다. exim 구성은 다음과 같은 순서로 개별 부분으로 구성됩니다.
- 기본
전역 정의 및 설정이 포함되어 있습니다. - ACL
- 라우터
주소를 처리하는 방법; 첫타가 사용되므로 순서가 중요합니다 - 수송
메시지 처리 방법을 정의합니다. 이는 위의 라우터에서 참조됩니다. 순서는 중요하지 않다 - 다시 해 보다
전송을 재시도하는 빈도 - 고쳐 쓰기
주소 변경(예: 내부 주소를 전역적으로 사용 가능한 주소로 매핑) - 인증자
인증 방법을 정의합니다. 서버와 클라이언트 모두로서
오류 메시지는 authenticator iinet_route: cannot find authenticator driver "manualroute"
인증자 섹션에 라우터 스탠자를 넣었음을 분명히 나타냅니다.
각 스탠자를 관련 섹션에 배치하면(예: 순서를 고려하여 라인 뒤 begin routers
와 라인 앞에 라우터 정의 begin transports
등) 오류가 사라져야 합니다.