我正在尝试通过在Internet选项中设置的http代理从连接到互联网的系统发送电子邮件。
我正在使用SmtpClient。
有没有办法通过此代理设置发送带有SmtpClient的邮件。 感谢
答案 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流量是一件简单的事情。
请注意,如果您这样做,可能违反了公司的计算政策。