Instead of surpressing the notices about undefined variables, why not define them?
Where are you getting these variables? From a POST'd form? It sounds like you're relying on register_globals, and perhaps it is even on. This is a security risk however, and I would highly suggestion you turn register_globals off and readjust your scripts. For more information about this risk, search the board for "register globals" or "register_globals".
Now, if you are indeed expecting these to be POST'd, try to fill in the variables like this:
$name = (@$_POST['name'] ? $_POST['name'] : 'Unknown');
$email = (@$_POST['email'] ? $_POST['email'] : 'Unknown');
$company = (@$_POST['company'] ? $_POST['company'] : 'Unknown');
$phone = (@$_POST['phone'] ? $_POST['phone'] : 'Unknown');
$website = (@$_POST['website'] ? $_POST['website'] : 'Unknown');
$msg = (@$_POST['msg'] ? $_POST['msg'] : 'Unknown');
That way, if the POST'd variable exists, the variable is assigned the proper value, otherwise, the variable is created with value 'Unknown'.