是否可以使用smtp通过代理与delphi发送电子邮件。 我之前使用SSL等构建了一些发送应用程序的电子邮件,但之前我没有使用过代理,有没有人知道如何用delphi做到这一点。
感谢。
答案 0 :(得分:2)
在Indy的TIdSMTP组件中使用代理的正确方法是利用TIdIOHandlerSocket的SocksInfo(Indy 9及更早版本)或TransparentProxy(Indy 10)属性。
对于Indy 9及更早版本(仅支持SOCKS v4 / 4a / 5代理):
对于Indy 10(支持SOCKS,HTTP和自定义代理):
答案 1 :(得分:1)
使用INDY组件。
如果代理及其类型事先已知,那么在发送电子邮件之前,您必须在代理服务器中进行授权(假设使用TidTcpClient)。然后用IdSmtp发送电子邮件。
OR
如果类型代理类型未知,请尝试使用IdSocksInfo和IdIOHandlerSocket。调整它们以代理并与idSMTP绑定。
答案 2 :(得分:0)
如果你之前做过,你是否使用过Indy或其他东西?无论你拥有什么组件(Indy,ICS,其他)都内置了代理支持(查看你的互联网组件集的属性),或者它没有。如果没有,请考虑“Overbyte ICS”或Indy。
我不是Indy的忠实粉丝。我已经使用过它,但随后转移到了Francois Piette的Overbyte ICS组件。如果您目前没有使用ICS,请尝试两者。
这可能不是你想要的方式(你说你想使用SMTP),但是为了未来人们寻找工作方式的好处,我还要补充一点,可以使用Windows MAPI集成也可以这样做,并有一个电子邮件客户端程序(Thunderbird,Outlook)使用JVCL组件集中的TJvMail将消息从当前电子邮件客户端的“从地址”发送到您选择的电子邮件地址。