Quali protocolli e i server sono coinvolti nell'invio di una e-mail, e quali sono i passaggi?

StackOverflow https://stackoverflow.com/questions/32744

  •  09-06-2019
  •  | 
  •  

Domanda

Per le ultime settimane, ho cercato di imparare su come funziona la posta elettronica.Capisco il processo di un cliente a ricevere la posta da un server POP abbastanza bene.Capisco anche come un computer client può utilizzare il protocollo SMTP per chiedere un server SMTP per inviare un messaggio.Tuttavia, mi manca ancora qualcosa...

Il modo in cui ho capito, la posta in uscita deve fare tre viaggi:

  1. Client (utente gmail utilizzando Thunderbird) per un server (Gmail)
  2. Primo server (Gmail) a seconda del server (Hotmail)
  3. Secondo server (Hotmail) a seconda del client (utente di hotmail utilizzando OS X Mail)

Da quanto ho capito, passo uno utilizza SMTP per il cliente per comunicare.Il client si autentica in qualche modo (ad esempio, con USER e PASS), e, quindi, invia un messaggio al server di gmail.

Tuttavia, non capisco come server di gmail trasferisce il messaggio al server di hotmail.

Per il punto tre, sono abbastanza sicuro, il server di hotmail utilizza POP per inviare il messaggio di hotmail client (tramite autenticazione, di nuovo).

Così, la grande domanda è: quando si sceglie invia Mail invia il mio messaggio per il mio server di gmail, come fa il server di gmail inoltrare il messaggio, ad esempio, un server di hotmail, quindi il mio amico può ricevere?

Grazie mille!

~Jason


Grazie, è stato utile finora.

Da quanto ho capito, il primo client invia il messaggio al primo server utilizzando il protocollo SMTP, spesso a un indirizzo come smtp.mail.SOMESERVER.com sulla porta 25 (di solito).

Quindi, UNSERVER utilizza SMTP di nuovo a cui inviare il messaggio RECEIVESERVER.com sulla porta 25 (non smtp.mail.RECEIVESERVER.com o qualcosa di fantasia).

Poi, quando il destinatario chiede RECEIVESERVER per la sua mail, POP, s/egli riceve il messaggio...giusto?

Grazie ancora (soprattutto per dr-gen),

Jason

È stato utile?

Soluzione

Il server SMTP a Gmail (che ha accolto il messaggio da Thunderbird) indirizza il messaggio al destinatario finale.

Lo fa utilizzando DNS per trovare il MX (mail exchanger) record per la parte del nome di dominio di destinazione indirizzo e-mail (hotmail.com in questo esempio).Il server DNS restituisce un indirizzo IP che il messaggio deve essere inviato.Il server l'indirizzo IP di destinazione, si spera, essere in esecuzione (SMTP sulla porta standard 25) che consente di ricevere i messaggi in arrivo.

Una volta che il messaggio è stato ricevuto dal server di hotmail, è memorizzato fino a quando l'utente accede e recupera i loro messaggi tramite POP o IMAP).

Jason - per rispondere alla tua di follow-up...

Quindi, UNSERVER utilizza SMTP di nuovo a cui inviare il messaggio RECEIVESERVER.com sulla porta 25 (non smtp.mail.RECEIVESERVER.com o qualcosa di fantasia).

Questo è corretto - il nome di dominio per inviare è preso come tutto quello che viene dopo la " @ " nell'indirizzo e-mail del destinatario.Spesso, RECEIVESERVER.com è un alias per qualcosa di più specifico, dire qualcosa come: incoming.RECEIVESERVER.com (o, anzi, smtp.mail.RECEIVESERVER.com).

È possibile utilizzare il comando nslookup per interrogare il server DNS locale (questo funziona in Linux e Windows finestra di comando):

nslookup
> set type=mx
> stackoverflow.com
Server:         158.155.25.16
Address:        158.155.25.16#53

Non-authoritative answer:
stackoverflow.com       mail exchanger = 10 aspmx.l.google.com.
stackoverflow.com       mail exchanger = 20 alt1.aspmx.l.google.com.
stackoverflow.com       mail exchanger = 30 alt2.aspmx.l.google.com.
stackoverflow.com       mail exchanger = 40 aspmx2.googlemail.com.
stackoverflow.com       mail exchanger = 50 aspmx3.googlemail.com.

Authoritative answers can be found from:
aspmx.l.google.com      internet address = 64.233.183.114
aspmx.l.google.com      internet address = 64.233.183.27
>                  

Questo ci dimostra che l'e-mail a chiunque stackoverflow.com devono essere inviati a uno dei server gmail sopra indicato.

L'articolo di Wikipedia citata (http://en.wikipedia.org/wiki/Mx_record esamina i numeri di priorità sopra indicato (10, 20, ..., 50).

Altri suggerimenti

Stai cercando l'Agente di Trasferimento della Posta, Wikipedia ha un bell'articolo sull'argomento.

All'interno di Internet messaggio i servizi di handling (MHS), un agente di trasferimento messaggi o mail transfer agent (MTA) o di inoltro della posta è un software che trasferisce i messaggi di posta elettronica da un computer ad un altro utilizzando un'applicazione client–server architettura.Un MTA implementa sia il client (invio) e server (ricezione) porzioni di Simple Mail Transfer Protocol.

I termini server di posta, mail exchanger, e host MX può anche riferirsi a un computer che esegue il MTA funzione.Il Domain Name System (DNS) associa un server di posta di un dominio con il mail exchanger (MX) record contenente il nome di dominio di un host che fornisce servizi MTA.

Si potrebbe anche essere interessati a sapere perché GMail a HotMail link utilizza SMTP, proprio come il vostro client Thunderbird.In altre parole, dal momento che il client può inviare e-mail tramite SMTP, e può utilizzare i DNS per ottenere il record MX per hotmail.com, perche 'non e' sufficiente inviare direttamente, saltando gmail.com complessivamente?

Ci sono un paio di motivi, alcuni storici e alcuni per la sicurezza.Nella domanda originale, si è ipotizzato che il client Thunderbird accede con un nome utente e una password.Questo non è spesso il caso.SMTP, che in realtà non richiedono di effettuare il login per inviare un messaggio di posta.E SMTP è alcun modo per dire che davvero l'invio della posta.Così, lo spam è nato!

Ci sono, purtroppo, ancora molti server SMTP là fuori che consentono a chiunque di connettersi e inviare e-mail, fidandosi ciecamente che il mittente è chi dicono di essere.Questi server sono chiamati "open relay" e sono regolarmente in lista nera da più intelligente amministratori di altri server di posta elettronica, a causa di spam sfornare.

Responsabile del server SMTP di amministratori di impostare il proprio server per accettare la posta per la consegna, solo in casi particolari 1) la mail è venuta dalla "sua" rete, o 2) la mail è stata inviata alla "propria" rete, o 3) l'utente presenta le credenziali che lo identifica come un mittente attendibile.Caso #1 probabilmente è quello che succede quando si invia la posta da lavoro;la macchina è in rete attendibile, in modo che è possibile inviare messaggi a chiunque.Un sacco di server di posta aziendali ancora non richiedono l'autenticazione, in modo che si può impersonare qualcuno nel vostro ufficio.Divertente!Caso #2 è quando qualcuno ti invia la mail.E il caso #3 è probabilmente ciò che accade con GMail esempio.Non sei venuta da una rete di fiducia, il vostro solo in Internet, con gli spammer.Ma l'utilizzo di una password, è in grado di dimostrare di GMail che tu sia chi dici di essere.

L'aspetto storico è che nei vecchi giorni, il collegamento tra gmail e hotmail è probabile che sia intermittente.Per l'accodamento di posta fino a un server locale, si può lavare le mani, sapendo che quando un collegamento è stato stabilito, locale server è in grado di trasferire i messaggi al server remoto, che avrebbe dovuto sostenere il messaggio fino a quando il destinatario agente raccolse.

Il primo server di guardare DNS un record MX del server di Hotmail.MX è un record che definisce un server di posta per un determinato dominio.Conoscere l'indirizzo IP del server di Hotmail, server di GMail verrà inviato il messaggio utilizzando il protocollo SMTP e attendere la risposta.Se Hotmail server, server di GMail wiil provare a inviare di nuovo il messaggio (dipenderà dal server software di configurazione).Se il processo termina, ok, allora ok, se non, server di GMail avvisa che egli non era in grado di recapitare il messaggio.

Se si vuole veramente sapere come funziona la posta elettronica è in grado di leggere il SMTP RFC o il POP3 RFC.

Tutti i messaggi vengono trasferiti utilizzando il protocollo SMTP (o ESMTP).
La cosa importante da capire è che quando si invia il messaggio a someguy@hotmail.com questo messaggio di destinazione non è il suo PC.La destinazione è someguy cartella posta in arrivo a hotmail.com server.
Dopo il messaggio arriva a destinazione.L'utente può controllare se ha nuovi messaggi sul suo account a hotmail server e recuperarli utilizzando POP3

Sarebbe anche possibile inviare il messaggio senza l'utilizzo di server di gmail, inviando direttamente dal tuo PC di hotmail utilizzando il protocollo SMTP.

Passaggio da 2 a 3 (cioèGmail e Hotmail) normalmente avviene tramite SMTP (o ESMTP SMTP esteso).

Hotmail non invia nulla al cliente tramite POP3.È importante capire alcune sfumature qui.Il cliente contatti di Hotmail tramite POP3 e le richieste della sua mail.(cioèil client inizia la discussione).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top