I am starting a new project that includes subscriber registration and emailing them daily. For my project I created a server application written in c#, a website written in PHP, and a database managed by PHPMYADMIN and MySQL My question is, do hosting companies, usually, allow running custom made server software? and how do I know if a specific hosting company allows for all the technologies I use to create my project? Thanks
Hosting companies will usually list all of their available technologies on a page that describes their hosting plans. Go to Hostgator and click on "compare all hosting plans". You will see a list of what their hosting plans support. If you see it, you can use it.
PHP and MySQL are very common and offered by most hosting companies. C#, when used in .NET, is also common although you have to look for Windows hosting for that to work (mono availability is not very common). In your case it is not very common to use both C# and PHP/MySQL in the same website so you may find getting hosting that supports both a little more difficult to find.
As far as custom software goes, usually custom written binaries are not allowed to be installed or run in a shared hosting environment. Typically you need a VPS or dedicated server to do this.
Some hosting companies, such as the one I use, LiveHosting, allows hosting .NET and PHP (and offers also MySQL and SQL Server database hosting too) on the same account, even the same domain.
This usually means that you need Windows hosting since this supports PHP but Linux usually (maybe if they support Mono) doesn't support .NET.
An example :