sorry, never try this way. but i think init only works for the script it is in. when the script ends, the init set up value will be set back to default in .ini.
for the e-mail, i always go through the troubles to define the parameters all the time. no special reasons, but sometimes mail() function does work funny, not as expected on my server (sometimes, i have to trim() the email address even there is no spaces before and after). so i used the most conservative ways to define them one by one. this way, it had less chances to be crazy.
like this for php.net:
$myname = "Me Myself";
$myemail = "myself@email.com";
$contactname = "Mister Contact";
$contactemail = "contact@email.com";
$message = "hello from happy me";
$subject = "A mail not refused by Hotmail";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$myname." <".$myemail.">\r\n";
$headers .= "To: ".$contactname." <".$contactemail.">\r\n";
$headers .= "Reply-To: ".$myname." <$myreplyemail>\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\r\n";
$headers .= "X-Mailer: Just My Server";
mail($contactemail, $subject, $message, $headers);