I want to monitor a external host with Zabbix. I don't have any access to that host. E.g. it should be http://www.google.com.
Now I want to monitor the host and if the host is down I want to get an email. How can I do this?
you can't fully monitor a host you don't have administrative access like you would have an agent on it.
if all you need is network availability you can monitor any service on the open port level using simple checks or just network level availability using ICMP ping simple check. That's it, ping to see if up/down, connect to port 80 to see if web server is up.
guessing from your question's tags you actually want to use web monitoring, which will let you check availability of the HTTP service as well as HTTP status returned or presence of specific text in the response. It will also keep track of response time and transfer speed.
both simple check and web monitoring are performed by zabbix server process, without any agent involved. which may be or may be not what you are after. if your server has no direct network access to the host you want to monitor, you may need to install a zabbix proxy somewhere or you can use an agent with user parameters that will run external commands through shell such as ping or curl.
Hopefully you've got a direction.