The vote was 392 to 5 in favor of the anti-spam legislation.
The U.S. Senate unanimously passed a similar version of CAN-SPAM in October.
The bills will need to be reconciled before advancing to President Bush for his signature. Legislators expect the Senate to pass the House version as early as Monday, according to reports.
Provisions in the House bill include the weaker "opt-out" option, which puts the onus for stemming unwanted e-mail on recipients. It also gives authority to the Federal Trade Commission to establish a do-not-e-mail registry, but does not require the FTC do so.
The House bill calls for penalties of $200 per e-mail, with a $2 million cap. Those are double the penalties contained in the Senate bill.