In a medium saucepan, combine rice and 2 cups of the milk. Bring to a gentle simmer over medium heat, stirring occasionally. Reduce heat to low and let the rice cook, partially covered, until most of the liquid is absorbed (about 15–20 minutes).
Add the remaining 2 cups of milk, sugar, salt, and cinnamon (if using). Stir well and continue to cook over low heat, stirring frequently to prevent sticking.
Let the mixture simmer gently, uncovered, for another 20–25 minutes, stirring often, until the pudding is thick and creamy. Stir in the vanilla extract and butter at the end, and fold in raisins if using.
Serve warm or chilled, topped with a sprinkle of cinnamon or nutmeg. The pudding will thicken further as it cools.