However, I have this diagram below: so from MCU the voltage is 3.3V and in series with 1k2 to get an Ib= 3.3-0.7/1k2 = 0.00216A.
...
how do I know this current can switch the relay?
This depends on the BJT you choose.
To get 40 mA collector current with 2 mA base current you need a \$\beta\$ value of at least 20. This should be pretty easy to find.
But, in this circuit you generally want to operate your BJT well saturated, say with a saturated \$I_c/I_b\$ ratio of 10 or so. So you might rather reduce your base resistor value to get in the neighborhood of 4 mA into the base.
does that mean Ib is flowing to the relay current coil? or in other words, Is this relay type suitable?
No, the whole point of the BJT (as used here) is that it provides current gain between the base and the collector. The ratio \$I_c/I_b\$ in the linear operating region is sometimes called \$\beta\$ and sometimes \$h_{fe}\$, and will be specified on the BJT datasheet. Numbers from 40 - 400 are pretty typical for this parameter.
As mentioned above, in this circuit you actually don't want to operate in the linear region, but in saturation. In this mode, the \$I_c/I_b\$ ratio drops, but you can still plan around a gain of 10 or so.
If your micro really can't provide more than 2 mA from its GPIO pin, you can probably make this circuit work as you drew it, but you will want to choose a BJT with a \$\beta\$ spec of 100 or more, rather than one on the lower end with only 40.