通过http代理发送邮件

时间:2009-05-10 06:40:25

标签: c# proxy smtpclient http-proxy

我正在尝试通过在Internet选项中设置的http代理从连接到互联网的系统发送电子邮件。

我正在使用SmtpClient。

有没有办法通过此代理设置发送带有SmtpClient的邮件。 感谢

3 个答案:

答案 0 :(得分:5)

Http Proxies控制http流量,它们很少与SMTP有任何关系。在所有SMTP本身都支持到目标SMTP服务器的“代理”链之前,我从未听说过代理SMTP。

答案 1 :(得分:3)

我知道你想使用浏览器的默认设置,我也希望得到答案。

同时,你可以手动完成。

    MailAddress from = new MailAddress("from@mailserver.com");
    MailAddress to = new MailAddress("to@mailserver.com");

    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("from@mailserver.com", "password");

    client.Send(mm);

答案 2 :(得分:0)

如果您对互联网的唯一访问权限是通过HTTP进行的,那么您可以通过端口443使用SSH设置VPS(或等效)并使用开瓶器(或者腻子)隧道ssh通过。从那里开始,通过ssh隧道转发smtp流量是一件简单的事情。

请注意,如果您这样做,可能违反了公司的计算政策。