Como posso configurar o exim para usar o servidor SMTP do meu ISP (em um sistema não-Debian)?

Como posso configurar o exim para usar o servidor SMTP do meu ISP (em um sistema não-Debian)?

Eu querousar eximpara enviar e-mails através do servidor SMTP do meu ISP. No entanto, oWiki do arcoé bastante confuso (o exim é muito mais simples em um sistema Debian). Eu segui as instruções doseção final, modificando o endereço SMTP mail.internode.on.netpara meu servidor SMTP e modificando para . Isso funcionou quando eu estava conectado à Internet através do meu ISP.*@* [email protected] Ffr*@* $1@my_emaildomain.com Ffr

Porém, para usar isso na minha rede de trabalho, preciso me autenticar. Tentei seguir as instruções listadas para o Gmail ao alterar o URL, mas falhou com

authenticator iinet_route: cannot find authenticator driver "manualroute"

Como posso configurar exima autenticação? (FWIW estou cominet.)

EDITAR

Percebi que estava colocando as configurações do tipo "Gmail" nas partes erradas. Mudei-os e não estou mais recebendo mensagens de erro. No entanto, eximagora falha silenciosamente. Não recebo nenhuma mensagem de erro, mas nenhum e-mail é entregue.

Aqui estão as alterações que fiz no padrão de fábrica:

--- 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()                   #
 ######################################################################

Eaquié meu arquivo de configuração completo.

EDITAR 2

Também tentei alterar a porta para 465, o que também falha silenciosamente. (FWIW 587 funciona bem em msmtp.)

EDITAR 3

Aqui estão as informações sobre um e-mail com falha, usando exim -Mvl. A tentativa original de envio usadaecho 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

EDITAR 4

Executei o comando mail novamente (conforme edição 3) e recebi um erro ligeiramente diferente. Também vinculei a saída completa deexim -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

A saída de depuração completa éaqui.

Responder1

De acordo com o erro que você obteve, você colocou as estrofes do exemplo do Gmail no wiki nas seções erradas. A configuração do exim é construída em partes distintas, na ordem:

  • principal
    contém definições e configurações globais
  • acl
  • roteadores
    como lidar com um endereço; o primeiro hit é usado, então a ordem é importante
  • transportes
    define formas de descartar uma mensagem, estas são referenciadas nos roteadores acima; ordem não é importante
  • tente novamente
    com que frequência tentar novamente a entrega
  • reescrever
    alterar endereços, por exemplo, para mapear endereços internos para endereços utilizáveis ​​globalmente
  • autenticadores
    define formas de autenticação; tanto como servidor quanto como cliente

A mensagem de erro authenticator iinet_route: cannot find authenticator driver "manualroute"indica claramente que você colocou uma estrofe de roteador na seção de autenticadores.

Coloque cada estrofe na seção relevante (ou seja, a definição do roteador após a linha begin routerse antes da linha begin transports, levando em consideração a ordem; etc.) e o erro deverá desaparecer.

informação relacionada