<?php
$text = "test@test.com - не работает
test test@test.com - работает";
$text = preg_replace("#(^|[\n ])([\w0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#iu", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $text); echo $text;
PD9waHAKCiR0ZXh0ID0gInRlc3RAdGVzdC5jb20gLSDQvdC1INGA0LDQsdC+0YLQsNC10YIKCnRlc3QgdGVzdEB0ZXN0LmNvbSAtINGA0LDQsdC+0YLQsNC10YIiOwokdGV4dCA9IHByZWdfcmVwbGFjZSgiIyhefFtcbiBdKShbXHcwLTkmXC1fLl0rPylAKFtcd1wtXStcLihbXHdcLVwuXStcLikqW1x3XSspI2l1IiwgIlxcMTxhIGhyZWY9XCJtYWlsdG86XFwyQFxcM1wiPlxcMkBcXDM8L2E+IiwgJHRleHQpOwplY2hvICR0ZXh0Owo=