I just had a chat with an Australian girl who went to Iran last year, the general procedure is like this:
Find an Iranian travel agency to get you an authorization Code from the Iranian Ministry of Foreign Affairs and follow these steps:
- Fill out an online form on the web site of the agency
- Scan in your passport and email the image to the agency.
- Pay them a fee, around 35 Euros. (The Aussie girl had to make a transfer into a German bank account, as you cannot directly transfer money into Iranian accounts)
- Tell the agency which consulate you want to use to get the visa.
After having all this the agency will try to get you an authorization code from the Iranian Ministry of Foreign Affairs which it then sends back to you. In our case this only took one day but it may take much longer.
Now you can go to the consulate of your choice or send them the visa application including the authorization code. The processing may take several weeks but our Australian friend had her passport back after five days.
The authorization code is only valid to the chosen consulate and only for 3 months from the date of issue.
This seems to be the procedure for all Nationalities that need a visa for Iran, except for US citizens:
At present the Iranian Foreign Ministry does not allow American
passport holders to travel to Iran independently. Americans are
required to travel on escorted tours; either as part of a tour group,
or a tailor made individual tour. An exact itinerary, to which you
must adhere, is compulsory.
The travel agency used by the Australian is called Touran Zamin and can be found at http://www.touranzamin.com
I will continue to ask around offline and post any more recommendations here.