# [Postfix] Los mails no llegan !!, ayuda !

## Diabliyo

Configure postfix+dovecot+saslauth+dkim-milter, 100% igual como lo tenia en un servidor casero (del cual si me llegaban los mails), pero ahora estan montados en mi servidor dedicado, pero resulta que segun los mails salen con exito (segun mi script en PHP), pero jamas los recivo.

Utilizo este script en PHP.

Esta es la configuración de mis servicios:

/etc/postfix/main.cf.

/etc/postfix/master.cf.

/etc/dovecot.conf.

/etc/dkim-filter.conf

Que LOG puedo revisar que me ayude un poco a investigar el problema ?

Saludos !

----------

## Diabliyo

He cambiado el puerto del dkim-filter (ya que salia error en el /var/log/maillog), y estableci el puerto 8891, reinicie servicios y note que el log /var/log/maillog ya no generaba errores.

De modo que vacie el archivo

# echo "" > /var/log/maillog

Inicie el script sendmail.php, envie el mail (salio que se envio bien), despues revise el log y salio esto: /var/log/maillog.

Creo que talvez alto tengo mail en el /etc/hosts, ya que desde que me entregaron el servidor dedicado montado no me he preocupado por tocarlo, mirenlo:

# cat /etc/hosts

```
127.0.0.1      localhost.localdomain localhost

::1      localhost6.localdomain6 localhost6

8.10.120.65 clone.dimenoc.com clone

67.23.225.225 server.crver.net server

```

Aparte tampoco firma el correo (dkim), creo que si es el /etc/hosts... Que opinan ?

----------

## BlueSkyDriver

```

Aug  5 23:17:41 server postfix/smtp[2785]: 3E60A52409A: to=<darkdiablyio@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.67.27]:25, delay=3.4, delays=0.1/0.01/0.2/3, dsn=5.1.1, status=bounced (host gmail-smtp-in.l.google.com[74.125.67.27] said: 550-5.1.1 The email account that you tried to reach does not exist
```

es la dirección correcta?

saludos

andreas

----------

## Diabliyo

 *BlueSkyDriver wrote:*   

> 
> 
> ```
> 
> Aug  5 23:17:41 server postfix/smtp[2785]: 3E60A52409A: to=<darkdiablyio@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.67.27]:25, delay=3.4, delays=0.1/0.01/0.2/3, dsn=5.1.1, status=bounced (host gmail-smtp-in.l.google.com[74.125.67.27] said: 550-5.1.1 The email account that you tried to reach does not exist
> ...

 

Grandisima observación amigo.... evidentemente estaba poniendo mal el correo  :Sad: ...

Bueno, el problema para el envío a secas se soluciono.

Ahora tengo algunos problemas con el envio personalizado del Return-Path, ya que no se si sea alguna limitación del PHP (en mi dedicado) o sea error mio:

Publico nuevamente el script Sendmail.php, este script se supone pone un formulario con: From, To, Return-Path, Asunto y Mensaje. Si el usuario proporciona algo en el INPUT de Return-Path, entonces el PHP establece un Header Return-Path para el mail (linea 10, 11 y 12 del script), de lo contrario solamente establece NULL y por defecto el Apache escribe un return-path propio, que es: apache@hostname.dominio (lo cual no quiero).

El problema es que, si establesco un return-path, el script Sendmail.php simplemente se queda en blanco, vaya, no da mensaje alguno de que si se envio o no el mail, pero evidentemente el mail no se envia y tampoco pone a trabajar a postfix porque no se genera un LOG.

Espero puedan ayudarme !

Saludos !

----------

## JotaCE

Una pregunta tonta quiero pensar que este archivo /etc/dkim-filter.conf configura una aplicacion para filtrado, como funciona ? que hace ?

Gracias

----------

## Diabliyo

 *JotaCE wrote:*   

> Una pregunta tonta quiero pensar que este archivo /etc/dkim-filter.conf configura una aplicacion para filtrado, como funciona ? que hace ?
> 
> Gracias

 

Respecto a DKIM al parecer funciona bien, porque haciendo pruebas (enviando con Sendmail.php y omitiendo el Return-Path Header), los correos llegan firmados exitosamente.

Sobre Que hace DKIM, pues simplemente una vez que instales, configures (/etc/dkim-filter.conf) y levantes el daemon (yo lo tengo el puerto 8891), debes configruar el postfix (/etc/postfix/main.cf) para que antes de sacar los mails, siempre le pase el paquete al dkim-filter y este inmediatamente le agrega una cabecera extra al mail (antes del To, From y Subject), y esta servira para que tu dominio sea comprobado (firmado) y minimices la posibilidad de que tus mails lleguen a SPAM.

El DKIM tambien brinda mayor autenticidad a tus mails, ya que asi como salen firmados, estos también son comprobados contra tu servidor dedicado que envia los mails, pero este proceso ya lo realiza el gestor receptor (gmail, hotmail o yahoo).

Obviamente si abres DKIM en el puerto 8891, asegurate que este OPEN para efectos de comprobacion de otros gestores comerciales (gmail, yahoo, hotmail) y por la parte de seguridad, no te preocupes, el dkim-filters.conf tiene una especificacion de hosts permitidos, de modo que solo y unicamente los hostnames que declares en dicho archivo, son a los que se le agregaran la firma.

Te dejo las lineas que se agregan al postfix:

cat # /etc/postfix/main.cf (Ver archivo completo)

```
smtpd_milters = inet:localhost:20209

non_smtpd_milters = inet:localhost:20209
```

Saludos !

----------

## JotaCE

Excelente, llegando a mi oficina lo pruebo.

Yo tengo instalado ClamAV y ClamSMTP no hay choques entre estas aplicaciones y la recomiendas tu ???

----------

## Diabliyo

 *JotaCE wrote:*   

> Excelente, llegando a mi oficina lo pruebo.
> 
> Yo tengo instalado ClamAV y ClamSMTP no hay choques entre estas aplicaciones y la recomiendas tu ???

 

Con ClamAV no hay problema simplemente te genera listas (black, white) y aparte todo el servicio que trae el programa (virus, cuarentenas, etc, etc...).

Mi duda estaria con ClamSMTP, ese si no lo he usado y no lo tengo, pero, si ClamSMPT da el servicio de Postfix, entonces tendrias que investigar. Por mi lado ClamAV lo utilizo somo scanner, cuarentena y listas, este NO interfiere, ya que las DKIM (DomainKey) son para el correo SALIENTE (envios) !.

Saludos !

----------

## BlueSkyDriver

 *Diabliyo wrote:*   

> 
> 
> Ahora tengo algunos problemas con el envio personalizado del Return-Path, ya que no se si sea alguna limitación del PHP (en mi dedicado) o sea error mio:
> 
> Publico nuevamente el script Sendmail.php, este script se supone pone un formulario con: From, To, Return-Path, Asunto y Mensaje. Si el usuario proporciona algo en el INPUT de Return-Path, entonces el PHP establece un Header Return-Path para el mail (linea 10, 11 y 12 del script), de lo contrario solamente establece NULL y por defecto el Apache escribe un return-path propio, que es: apache@hostname.dominio (lo cual no quiero).
> ...

 

ayudame, donde escribes el Return-Path en el Header?

yo creo te falta algo asi

```

$headers .= "Return-Path: sender@domain.tld\r\n";

```

este problema con el "apache@hostname.dominio" puedes resolver con canonical_maps

http://www.postfix.org/ADDRESS_REWRITING_README.html

saludos

andreas

----------

## Diabliyo

 *BlueSkyDriver wrote:*   

> ayudame, donde escribes el Return-Path en el Header?
> 
> yo creo te falta algo asi
> 
> ```
> ...

 

No amigo, si agregar directamente $headers .= "Return-Path: sender@domain.tld\r\n";, estarias estableciendo un return-path no funcional, ya que por defecto, el return-path se establece al momento que apache+postfix hacen el envio del correo, lo cual para que tu Return-Path se pueda personalizar debes echarle un OJO al ultimo argumento de la funcion mail() de PHP.

Si observas el script Sendmail.php veras que el return-path establecido (linea 10, 11 y 12), se pasan como argumento a la funcional mail.

La notacion es simple, para establecer un return-path escribes una variable que se pasa asi:

```
<?php

$extra= '-faquiretornan@dominio.com';

mail( .........., $extra );

?>
```

----------

## Diabliyo

Listo el script Sendmail.php tenia un error de sintaxis, tenia escrito emtpy en vez de empty, ya con eso salen con el Return-Path personalizado.

Saludos !

----------

