2010-04-19 13 views
72

Ho utilizzato lo spazio dei nomi System.Net da quando passiamo da .NET Framework 1.1 al framework 3.5, ma ci sono ’ s una cosa che ’ mi ha sconcertato da allora. Qual è la differenza tra le proprietà Sender e From nella classe MailMessage?MailMessage, differenza tra Sender e From properties

Sono entrambi uguali, e in caso contrario c'è un motivo per utilizzare Sender insieme a From?

Ad esempio:

Using m As New System.Net.Mail.MailMessage() 
    m.Sender = New System.Net.Mail.MailAddress("[email protected]", "Name here") 
    m.From = New System.Net.Mail.MailAddress("[email protected]", "Name here") 

    m.Subject = "Test" 
    m.Body = "Test" 

    Dim client As New System.Net.Mail.SmtpClient("mymailserver.com") 
    client.Send(m) 
End Using 
+5

Nel caso dell'implementazione System.Net.Mail non c'è differenza. Quando si chiama in SmtpTransport.SendMail fa questo 'message.Sender! = Null? message.Sender: message.From'. Il risultato è SmtpClient che non consente di inviare valori distinti per Sender e From – Sam

risposta

57

Estratto dal wiki on-mail:

campi di intestazione: L'intestazione del messaggio deve includere almeno i seguenti campi:

Da: L'e -mail indirizzo, e opzionalmente il nome dell'autore (s). In molti client di posta elettronica non modificabili se non cambiando le impostazioni dell'account.

Si noti inoltre che il campo "Da:" non deve essere il vero mittente del messaggio di posta elettronica. Una ragione è che è molto facile falsificare il campo "Da:" e lasciare che un messaggio sembri proveniente da qualsiasi indirizzo di posta. È possibile firmare digitalmente la posta elettronica, che è molto più difficile da falsificare, ma tali firme richiedono una programmazione aggiuntiva e spesso programmi esterni da verificare. Alcuni ISP non inoltrano messaggi di posta elettronica che affermano di provenire da un dominio non ospitato da loro, ma pochissimi (se ce ne sono) controllano per assicurarsi che la persona o addirittura l'indirizzo di posta elettronica nominati nel campo "Da:" sia quella associato alla connessione. Alcuni ISP applicano i sistemi di autenticazione della posta elettronica a messaggi di posta elettronica inviati tramite il proprio MTA per consentire ad altri MTA di rilevare lo spam contraffatto che potrebbe sembrare provenire da essi.

mittente: Indirizzo del mittente effettivo che agisce per conto dell'autore elencato nel campo Da: (segretaria, responsabile della lista, etc.).

Dettagli sulla http://en.wikipedia.org/wiki/Email

Per esempio Gmail utilizza i campi da/mittente di inviare messaggi di posta elettronica provenienti da diversi indirizzi email del tuo account Gmail (Dopo la verifica).

23

Ho trovato la spiegazione this per essere abbastanza facile da capire (il mio enfasi).

Un settore in cui v'è piuttosto una varietà di funzionamento è nella concetto di Da Indirizzo di una e-mail e il mittente della e-mail.

Alcuni server di posta elettronica accettano l'indirizzo Da come mittente, e alcuni deducono automaticamente il mittente e alcuni richiedono che il mittente sia specificato esplicitamente.

In generale, il mittente è il vero mittente del messaggio di posta elettronica. L'indirizzo da, al contrario, è semplicemente una riga di intestazione nell'e-mail che può o non può essere considerata come qualcosa. Spesso l'indirizzo Da può essere omesso completamente. Gli spammer possono facilmente falsificare l'indirizzo Da .Gli ISP cercano di garantire che gli spammer non possano falsificare il mittente.