I'm going to Bulgaria in a week. I'm an Iranian passport holder, with an Italian residence permit. I read that I don't need to apply for a visa because I have a Schengen residence permit. Is that correct?
It is your Schengen visa that entitles you to enter Bulgaria, according the its Ministry of Foreign Affairs:
Visa-free regime for holders of Schengen visas for a stay of up to 90 days
On 25 January 2012 the Council of Ministers of the Republic of Bulgaria adopted a decision according to which by the date of Bulgaria’s accession to the Schengen area, our country will unilaterally apply a visa-free system for holders of valid Schengen visas. They will have the right to enter and reside in the Republic of Bulgaria for a period of no more than three months in any six-month period from the date of the first entry, without needing to have a Bulgarian short-stay visa. The decision entered into force on 31.01.2012.