通过http代理发送邮件

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

我正在使用SmtpClient。

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

我知道你想使用浏览器默认设置,我也想要一个答案。

同时,你可以手动完成。

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); 

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

如果您对互联网的唯一访问权限是通过HTTP,那么您可以通过端口443设置VPS(或等效)并使用corkscrew(或putty)来实现此目的的唯一方法隧道ssh通过。 从那里开始,在你的ssh隧道上转发smtp流量是一件简单的事情。

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