This is what I'm using. I don't know if it works everywhere, but in Argentina (where I live) it works.
Basically you have to send an email to a special email address. I'm sending four mails (one per company) since, usually I don't know who's the client carrier.
function prepararMail($tel, $msg) {
enviarMail("$tel@emocion.net.ar", '', "$msg");
enviarMail("$tel@personal-net.com.ar", '', "$msg");
enviarMail("$tel@sms.ctimovil.com.ar", '', "$msg");
enviarMail("$tel@page.nextel.com", '', "$msg");
}
function EnviarMail($dest, $subject, $msg) {
$from_name = "Your name";
$from_email = "your email";
$headers = sprintf ("From: %s <%s>\nSender: %s <%s>\nContent-Type: text/plain; charset=\"UTF-8\"\nContent-Transfer-Encoding: 8bit\n", $from_name, $from_email, $from_name, $from_email);
mail($dest, $subject, $msg, $headers);
}