grep -Fxf list -v /etc/remotedomains > remotedomains.new
mv remotedomains.new /etc/remotedomains
-v tells grep to only output lines that don't match the pattern.
-f list tells grep to read the patterns from the file
-F tells grep to interpret the patterns as plain strings, not regular expressions (so you won't run into trouble with regex meta-characters).
-x tells grep to match the whole line, e.g. if there's a pattern
foo that should only remove the line
foo, not the line