Dipende, la maggior parte dei relay e-mail e dei server di posta aggiungerà le intestazioni con l'IP del mittente. Eppure nulla li costringe ad aggiungere l'IP corretto. Un normale scambio di email si presenterebbe come:
email client -> your mail server -> destination mail server -> addressee's client
Tuttavia, può benissimo andare:
email client -> local mail server -> remote mail server ->
-> destination domain relay -> destination mail server -> addressee's client
O un design ancora più complesso. SMTP (e le sue estensioni) è abbastanza robusto in termini di proxy / relaying. E anche se questo non è un requisito di SMTP, la maggior parte dei relay e dei server di posta mantengono semplicemente tutte le intestazioni che sono attualmente nella posta e aggiungono solo le proprie.
Questo ha un paio di effetti collaterali interessanti, per esempio non è raro trovare mail con più Received:
di intestazioni.
Diamo un'occhiata a un paio di esempi di intestazione in un percorso di posta piuttosto complesso: Quanto segue proviene da una mail che utilizza google come server di posta ma ha un proprio dominio (cioè il MX
record per il dominio di posta è mail.google.com
), l'e-mail passa quindi attraverso un relay e quindi torna a mail.google.com
in un altro indirizzo Gmail.
Prima di tutto otteniamo:
X-Received: by 10.x.x.x with SMTP id d27mr24214681oib.59.1473677977339;
Mon, 12 Sep 2016 03:59:37 -0700 (PDT)
Received: from 1058052472880 named unknown by gmailapi.google.com with
HTTPREST; Mon, 12 Sep 2016 06:59:36 -0400
Questo è dal client a gmail, si noti che l'IP che Google ha visto è lì. Quindi va al relay:
Received: from mail-it0-f41.google.com ([209.x.x.x]:37883)
by mail.fsf.org with esmtps (TLS-1.0:RSA_AES_128_CBC_SHA1:16)
(Exim 4.69)
(envelope-from <******@hotelquickly.com>)
id 1bjix0-0003Rs-3K
for ******@member.fsf.org; Tue, 13 Sep 2016 04:20:18 -0400
Received: by mail-it0-f41.google.com with SMTP id 183so31757158itf.0
for <****@member.fsf.org>; Tue, 13 Sep 2016 01:20:17 -0700 (PDT)
Quindi abbiamo un IP del server di posta di google che parla al relay su mail.fsf.org
E infine torna a google:
Received: from mail.fsf.org (mail.fsf.org. [208.x.x.x])
by mx.google.com with ESMTPS id n48sd14225674qtn.126.2016.09.13.01.20.23
for <******@gmail.com>
(version=TLS1 cipher=AES128-SHA bits=128/128);
Tue, 13 Sep 2016 01:20:23 -0700 (PDT)
Received-SPF: softfail (google.com: domain of transitioning ******@hotelquickly.com does not designate 208.x.x.x
as permitted sender) client-ip=208.x.x.x;
Authentication-Results: mx.google.com;
dkim=pass [email protected];
spf=softfail (google.com: domain of transitioning ******@hotelquickly.com does not designate
208.x.x.x as permitted sender) smtp.mailfrom=******@hotelquickly.com;
dmarc=pass (p=NONE dis=NONE) header.from=hotelquickly.com
Received: from Debian-exim by mail.fsf.org with spam-scanned (Exim 4.69)
(envelope-from <******@hotelquickly.com>)
id 1bjix0-0003Rx-7z
for ******@member.fsf.org; Tue, 13 Sep 2016 04:20:22 -0400
E c'è ancora di più perché uso procmail
ma a quel punto si occupa solo di IP locali.
In breve
La maggior parte delle macchine aggiungerà gli IP delle macchine che hanno ricevuto dalla posta alle intestazioni della posta, ma non c'è nulla che costringa la macchina ad aggiungere gli IP corretti. Se si esegue il proprio server di posta, è possibile aggiungere indirizzi IP errati, tuttavia l'hop successivo nel percorso della posta aggiungerà l'IP che ritiene il server di posta alle intestazioni (ad esempio il server di posta da cui ha ricevuto la posta).