Como en muchos casos la gente pregunta como conseguir la IP de un correo creo que es el momento de enseñar una técnica que podrán usar, efectiva y que no es sospechosa.
Lo que vamos a hacer es un IpLogger en PHP, solo que en esta ocasión en lugar de esperar que hagan click, haremos que devuelva una imagen, de esta forma la podremos cargar en el correo y obtener la IP sin necesidad de que el usuario haga click en ningún link. Este sería el código que vamos a usar:
<?php
// IpLogger
$datos = "Fecha: " . date('Y-m-d H:i:s') . " - IP: $_SERVER[REMOTE_ADDR] - UserAgent: $_SERVER[HTTP_USER_AGENT] "; $archivo = fopen("datos.txt", "a"); $fw = fwrite($archivo, "$datos\n");
// Devuelve imagen
$imagen = file_get_contents('https://url.es/imagen.jpg'); // Aquí pondrán la imagen que quieran que aparezca.
header('Content-type: image/jpeg;'); echo $imagen;
?>
Para hacer que nos envíe la IP tan solo habría que usar la etiqueta
<img src="www.dominio.es/codigo.php"> en el correo. En caso de usar Gmail la imagen también se puede cargar desde url.
(En cualquier WEB que pongan la etiqueta y entre alguien también mandará su IP).
Esto funciona como un CSRF, pueden leer
aquí un tutorial.
Cuando el navegador lee la etiqueta
<img src=""> este manda una petición GET para analizar cual es la imagen que devuelve esa url, al ser un código PHP este se ejecuta y después devuelve la imagen que es la que se va a mostrar en nuestro navegador.

Veamos como quedaría el mail recibido.

Y así quedarían los logs dentro de nuestro dominio.

En mi caso también me devuelve IPs de Google ya que envié el correo por Gmail y usé la opción de obtener imagen por URL.
Espero que les sea de utilidad.
También me pueden seguir en Twitter si les hace ilusión:
@RoloMijanSaludos.