A friend in Australia is on a trip to Iran soon, and has the problem that she can't get local currency in advance. Is there any way to do this before hitting the country, or is it perfectly acceptable to take Euros and/or USD? This is implied on at least one website however there's no indication that you can withdraw more while in the country, as on the same link it indicates that ATMs there only work with local cards, so it's unclear how you're meant to get more money once you're there.
If I understand the information from Iranian Customs correctly:
Each incoming passenger can bring 500,000 IRR in local currency and an unlimited amount of foreign currency.
Each outgoing passenger can bring 500,000 IRR in local currency and $5,000 USD or equivalent in foreign currency.
Since 500,000 rials is only about $20 USD, you will need to bring enough foreign cash to cover the costs for the entire stay. Due to the US trade embargo on Iran, it is neither possible to use foreign credit or debit cards for cash withdrawals or payments nor to cash traveler's cheques.
It is not quite clear if it is better to bring euros or US dollars. At least in larger cities, it should be possible to exchange both currencies without much hassle in official exchange offices or in a bank. A friend of mine visited Iran last year and said that some shops (if they accepted foreign currency at all) only accepted either euros or dollars. Lonely Planet writes however, that the government encourages banks to "turn away" from the US dollar, so that it might be preferred to bring euros instead.
Also consider that the highest value Iranian banknote (100,000 rials) is only worth about $4 USD. If you are travelling outside the regular tourist routes, it might be advisable to exchange enough local currency to cope, even if you don't find an exchange office for a few days. So be prepared to carry quite a few bank notes around.
As Tor-Einar Jarnbjo said you can bring unlimited amount of money in foreign currency with you into IRAN
When you want to go back to your country you can bring max 5000 USD with your self but it is not a big deal because you can easily draft extra money to your bank account (because of sanctions banks usually can't do this but Exchange companies will do this for you)
In opposite to what Tor-Einar Jarnbjo said highest value Iranian bank note is 1,000,000 rials (about 30USD - the exchange rates in central bank aren't real, you can see street rates here and draft rates here )
But it is not a big deal too, because due to last sanctions now foreign currencies have very high demand in IRAN, even taxi drivers will accept foreign currencies ... you can also easily exchange in airport/shops/banks and even you can find individual exchanges in streets in every 500 meters!
Note that your ATM cards will not work in IRAN
Also please note there is a limitation in what you can bring with you into IRAN , for example you cannot bring alcoholic drinks, game cards or printed media with adult content etc to IRAN, you can see the complete list and guide in English here (navigate with "traveler information(new)" menu to different pages of guide - this is IRAN customs administration official site )
به ایران خوش امدید
WELLCOM to IRAN!
As an Iranian I give you first hand information. First of all, yes the ATMs are not connected to anywhere else in the world and you can't get any money there with your standard credit card. You have one option, just take as much as cash you need and buy your ticket in advance. Even, if there is laws about how much you can take in, the custom/police will not stop or question you about your money considering they know Iran's situation and will be easy for foreigners (assuming you are not taking a million dollars although that was the way Iranians went around sanctions by the US carrying big money in suitcases). Just put it somewhere in a small bag that is with you all the time. Assuming you don't show off your money, Iran is a fairly safe country and carrying large cash quantities is quite common by locals.
One way which I didn't need to try but could be quite possible, just ask your Iranian friends in your country about your local Iranian money exchange shops. They will most likely accept to receive your money there and give you money in Iran through their counterparts.
One other point, Iranians have very low surcharge on exchanging currencies to local money (possibly the lowest fees in the world). If you have Aussie or Canadian dollar (and possibly most European currencies such as Swiss Franc, Euro etc) don't worry about changing them to American dollar as you could convert locally with good rates. However, you need to change in Tehran around Ferdowsi Sq.
You will have to bring cash. ATMs do not work with foreign cards due to American embargoes. The Visa and MasterCard networks are American and are not allowed to do business with Iranians/Iran.
Euros and Dollars are by far your best bet, with Euros probably being your best bet.
It should be possible to do international bank transfers circumventing the US, but be prepared for a truckload of hassle.