Если вы пытаетесь открыть URL (исходя из включенного вами «xyz.com»), то вам нужно включить объявление схемы перед ним. Например. http://xyz.com, в противном случае PHP попытается открыть локальный файл. Если вы ссылаетесь на локальный файл, обязательно избегайте обратной косой черты, если вы работаете в Windows.
Тем не менее, в остальном примере кода нет ничего плохого, что могло бы вызвать проблему. @ просто подавляет вывод ошибок, поэтому само по себе оно не будет вызывать каких-либо странных действий.
Хотя, как уже говорилось, лучший способ справиться с этим мог бы сделать это:
$file = @fopen("xyz.com","rb");
if(!$file)
{
mail($to, $subject, $message, $from);
die();
}