There are several things that can be done:
- add a guard control (a confirmation dialog, or a physical action);
- add spatial separation from other controls;
- add visually distinct elements to make the button stand out;
- (as RedSirius reminds, add an "Undo" capability).
From the usability standpoint, the alternative of offering a confirmation dialog (no.1) is pretty much inferior.
Constant questions "Are you sure you want to send this e-mail?" will be considered irritating most of the time, and the consequences of sending an incomplete letter are not usually grave enough to warrant an extra mouse click.
What can be done, though, is separating irreversible action buttons from the rest of the controls in the ribbon/toolbar (alternative No.2), and simultaneously making them visually distinct (font size, icon etc.) (alternative No.3).
Above: An example of an irreversible action where guards are built into the control (alternative No.1) . (C) Staff Sgt. Bennie J. Davis III.
An "Undo" capability (alternative No.4) should be weighed against the user's expectation of an instantaneous reaction when she does everything right. It may be frustrating to have to wait 5 seconds if your client is actually looking forward to getting an e-mail from you tout de suite.