Simon. Not to be flippant, but by sending jobs to Mexico, aren't we employing people who might otherwise try to come here? Short of guaranteeing that all jobs must be filled by native or legal residents, and levying severe fines and jail time to those who hire illegals, workers will continue to come to the US.
The refugees are a separate situation, we can try vetting them all, but I don't know if this country could afford the cost of adequately screening everyone claiming asylum. Unless we achieve equity in jobs and civil rights in the poorer nations, I can't see any real solution to this problem.
I see in the news today that another Republican now wants to severely cut the number of legal immigrants to this country. So, will this solve the problem? I doubt it. It will make some people happy, but that's about it.
I guess we're left with the xenophobic option, just close the borders completely, and if everything goes to hell, we can try something else. At least it will shut up the alt-right, which is not such a bad thing.