What I'm saying is that I drag and drop the components such as TIdSMTP, TIdMessage, TIdSSLIOHandlerSocketOpenSSL, IdSocksInfo on the form, then access the components as shown in my code.
No, you are dropping the components onto your Form, and then IGNORING THEM, instead creating SEPARATE component instances dynamically in the code. So, you are DUPLICATING the components in memory, and then using only HALF of them.
You should EITHER drop the components onto the Form and actually use them, or else DON'T drop them at all and just create them dynamically in code. DON'T DO BOTH.
I do it this way because when I don't drag & drop them first, then all I receive are error messages indicating that those components are missing.
If you have the relevant unit references in the
uses clause, and are linking to the Indy packages, then you'll be fine.
It only seems to work if I first drag and drop them on the form. Most tutorials I've seen on YouTube, they always drag and drop them first which is why I'm doing it this way.
Such tutorials are liking USING the components that they drop. There is no point in dropping a component and then ignoring it.
Is there some other way of doing it without having to drag and drop them on the form as a prerequisite? I tried it without dragging first, but it throws erros and doesn't allow me to proceed without doing so.
What you could do is first drop the components onto the Form just to establish the references, and then delete the components from the Form, and then create them dynamically. Or, you could just stop creating them dynamically and use the ones that you dropped on the Form.
BTW, I'm using the FREE private proxies from webshare.io in which they give you a ton of FREE proxies to test out that require login credentials. I'm able to navigate in Google Chrome behind their private proxies
SOCKS is a standardized protocol. I suggest you use a packet sniffer like Wireshark to compare Chrome's SOCKS traffic to Indy's SOCKS traffic, maybe you will see a difference (ie, maybe Chrome is using a different authentication than Indy, etc).
but not sure why I wouldn't be able to tunnel in through email.
This has nothing to do with email. At the point where the tunnel is being created, the proxy doesn't know (or care) how the tunnel will be used. The client is merely asking the proxy to tunnel to a given IP/Port, nothing more. You can replace
TIdSMTP with
TIdTCPClient and you should get the same error.
do you know of any socks5 proxies I could test out or some that you've personally tried or would recommend?
No.