2009-05-10 24 views
5

Sto tentando di inviare e-mail da un sistema che si connette a Internet tramite un proxy http impostato in Opzioni Internet.Invio di posta tramite proxy http

sto usando SmtpClient.

C'è un modo per inviare messaggi con SmtpClient tramite questa impostazione proxy. Grazie

+0

@Anthony, credo che si riferisca alla classe SmtpClient. –

risposta

3

Capisco che si desidera utilizzare le impostazioni predefinite del browser, vorrei anche una risposta per questo.

Nel frattempo, è possibile farlo manualmente.

MailAddress from = new MailAddress("[email protected]"); 
    MailAddress to = new MailAddress("[email protected]"); 

    MailMessage mm = new MailMessage(from, to); 
    mm.Subject = "Subject" 
    mm.Body = "Body"; 

    SmtpClient client = new SmtpClient("proxy.mailserver.com", 8080); 
    client.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); 

    client.Send(mm); 
5

Http I proxy controllano il traffico http, raramente hanno nulla a che fare con SMTP. Non ho mai sentito parlare di proxy proxy prima che tutto lo stesso SMTP supporti intrinsecamente una catena di "proxy" al server SMTP di destinazione.

+0

Si potrebbe proxy SMTP per dire un filtro antispam. Dove il filtro spam valuterà l'e-mail e lo inoltrerà al server SMTP. –

+0

@Charles: Come ho detto nella risposta, STMP è intrinsecamente una serie di "proxy" verso la destinazione. Un filtro antispam è semplicemente un altro server SMTP nella catena. – AnthonyWJones

+0

Credo sia possibile. Componenti intelligenti implementati: http://www.clevercomponents.com/products/inetsuitenet/smtpclientnet.asp ma non sembra valsa la pena acquistarlo – Salar

0

Se l'unico accesso a Internet è tramite HTTP, allora l'unico modo per farlo è impostare un VPS (o equiv) con SSH sulla porta 443 e usando il cavatappi (o mastice) per tunnel ssh attraverso. Da lì è semplice inoltrare il traffico smtp sul tuo tunnel ssh.

Se si esegue questa operazione, è possibile che si stia violando la politica di elaborazione aziendale.