Armenia

From Armenia there are daily, modern buses from Yerevan to Tabriz and even further to Teheran. Alternatively you can take a marshrutka from the Kayakan bus terminal in Yerevan to Meghri or all the way to Agarak, which is the border town to Iran. In both directions the Marshrutka leaves quite early in the morning. Kapan and Karajan are more frequently served by marschrutkas but it is a long and mountainous (and therefore expensive) stretch to the border from there. From Meghri it is around 8 km to the border and hitching or a taxi is the only option. On the Iranian side the closest puplic transport can be found around 50km to the west in Jolfa, so a taxi for IRR80,000 (about USD3) is again the only commercial choice. Expect to be asked a lot for all taxi rides, so hard bargaining is essential. Making clear, or at least pretending that you have other choices may assist you to get fairer prices. Locals confirmed, that the taxi ride to Jolfa is 80000 Rial. Sometimes it's easier to bargain if the taxi drivers know that you know the price.
The border is not busy at all, so when hitching you have to mainly stick with the truck drivers and Russian or Persian helps a lot here. Consider for yourself whether this is a safe option.

Turkey

You can find Seir-o-Safar agencies in Istanbul, Antalya and Ankara to buy cheap bus tickets for Tehran. A one-way ticket between Istanbul or Ankara and Tehran costs USD35.00.
Dogubeyazit/Bazergan This Turkey/Iran border crossing is easily (and fast) done by public transport. Take a bus to Dogubeyazit and a frequent minibus (c. TRY5, 15min) to the border. Cross the border stretch on foot, take the customs taxi (give the driver some IRR1,000 baksheesh) to the next village and take a taxi (USD3-4) to the bus terminal in Bazergan. There could also be buses to Bazergan, but the taxi drivers approaching you at the border are not the right people to ask for that. From there you can easily get buses to major destinations in Iran. Check the security situation in the region, due to the unsolved PKK conflict. Make sure you get a clear idea about exchange rates if you want to change Turkish lira or Iranian rials as the official bank at the border does not exchange these currencies and you have to deal with the plentiful black market.
There are also buses from Van to Urmia crossing from Esendere-Sero border. The buses cost €13 and it takes more than 6h to finish the 300km path. That's because of poor roads in the Turkish side and also too many check stops at the Turkish side (more than 5) because of security reasons concerning the P.K.K.
You can also take mini buses to the town Yüksekova near the border and ask for taxis to bring you to the border. Cross the border check point on your own since the taxis won't cross into Iran.

Pakistan

You can also (depending on the political situation) enter from Pakistan via the border crossing between Taftan (on the Pakistani side) and Zahedan (on the Iranian side) as long as you have a valid visa for Iran. You can NOT get a visa at the border. Overnight buses leave from Quetta arriving in Taftan in the early morning, from there you can either hire a taxi to the border or walk a couple of kilometres. Once across the border (which can take some time on the Iranian side, you need to organise transport to Zahedan (the local town) where buses depart for destinations in Eastern Iran such as Bam, Kerman and Yazd. See the Istanbul to New Delhi over land 3.9 Iran-Pakistan border, for more details on the crossing.
This option is particularly dangerous as Pakistani Balochistan is rife with sectarian violence perpetrated by Taliban and Al-Qaida linked militants against the Shia minority as well as a nationalist insurgency demanding independence for Balochistan. Buses coming to and from the Iranian border have been stopped on the outskirts of Quetta and all the Shias have been shot dead. Pakistani travellers returning from Iran have also been shot dead while waiting for connecting buses at bus stations in Turbat.
The train from Zahedan to Quetta is arguably a better option but presents problems of its own. There is also a flight from Zahedan to Quetta via PIA. In either case one must attempt to leave Quetta as soon as possible as there are gangs of sectarian target-killers belonging to Lashkar Jhangvi roaming the streets and assassinating Shias. They have also been known to kidnap westerners for ransom. Videotaped executions of kidnapped westerners have also been made and subsequently been posted onto the internet.

Iraq

There are daily buses from Arbil to Urmia, also there are daily buses from Sanandaj and Kermanshah to Sulaymaniyah. From Tehran, there are also buses to Sulaymaniyah and Arbil.

Afghanistan

There are daily buses between Herat and Mashad. The buses go through Dogharoun Border. The road has been built by Iran and is reported safe.

Turkmenistan

A bus service also runs between Ashgabat and Mashhad.