2009-05-10 10 views
5

Ich versuche, E-Mails von einem System zu senden, das über einen HTTP-Proxy, der in Internetoptionen festgelegt ist, eine Verbindung zum Internet herstellt.Senden von E-Mail über http-Proxy

Ich verwende SmtpClient.

Gibt es eine Möglichkeit, Mails mit SmtpClient über diese Proxy-Einstellung zu senden. Danke

+0

@Anthony, ich glaube, er bezieht sich auf die SmtpClient-Klasse. –

Antwort

3

Ich verstehe, dass Sie die Standardeinstellungen des Browsers verwenden möchten, ich möchte auch eine Antwort dafür.

In der Zwischenzeit könnten Sie es manuell tun.

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 Proxies steuern http-Verkehr, sie haben selten etwas mit SMTP überhaupt zu tun. Ich habe noch nie davon gehört, SMTP zu proxygen, nachdem das gesamte SMTP selbst eine Kette von "Proxies" für den Ziel-SMTP-Server unterstützt.

+0

Sie könnten SMTP als Proxy verwenden, um einen Spamfilter zu sagen. Der Spamfilter würde die E-Mail auswerten und an den SMTP-Server weiterleiten. –

+0

@Charles: Wie ich in der Antwort gesagt habe, ist STMP intrinsisch eine Reihe von "Proxies" zum Ziel. Ein Spam-Filter ist einfach ein weiterer SMTP-Server in der Kette. – AnthonyWJones

+0

Ich glaube, dass es möglich ist. Clevere Komponenten implementiert eins: http://www.clevercomponents.com/products/insetsuitenet/smtpclientnet.asp aber es scheint nicht wert, es zu kaufen – Salar

0

Wenn Sie nur über HTTP Zugriff auf das Internet haben, dann können Sie dies nur tun, indem Sie ein VPS (oder Äquivalent) mit SSH an Port 443 einrichten und Korkenzieher verwenden (oder Kitt), um ssh durch zu tunneln. Von dort aus ist es eine einfache Sache, SMTP-Verkehr über Ihren SSH-Tunnel weiterzuleiten.

Beachten Sie, dass Sie möglicherweise die Computerrichtlinie des Unternehmens verletzen, wenn Sie dies tun.