Single element, no tables needed.
Since outlook doesn't apply the background color when padding is used in a non-table element, I use border in place of padding. You can then use box-shadow to add a border, but it's not supported in all clients. Not a terrible tradeoff for the severe reduction in code vs the traditional table-based bulletproof button.
The outlook conditional content around the button text is only necessary if your left/right border is wider than your top/bottom border.
*Does not support box-shadow