我做了一个PHP类,大大简化了用PHP发送短信。我知道这不是真的“帮助我!”类型问题本身,但我想分享代码,因为我发现它是非常有用的。你可以随意做任何你想要的代码。你甚至可以到处告诉人们你做到了。只是不要指责我是否有任何问题。有没有人想发送来自PHP的短信?
事不宜迟:
<?php
// Carrier email suffixes
define('ATT', 'txt.att.net');
define('SPRINT', 'messaging.sprintpcs.com');
define('TMOBILE', 'tmomail.net');
define('US_CELLULAR', 'email.uscc.net');
define('VERIZON', 'vtext.com');
define('VIRGIN_MOBILE', 'vmobl.com');
// Message parameters
define('MAX_SMS_LENGTH', 140);
define('DEFAULT_CELL_SENDER', '[email protected]');
class Cell
{
public static function send($pNumber, $pCarrier, $pMessage)
{
// Keep a notifier of whether the message was sent or not
$Success = true;
// Define the recipient address
$Recipient = $pNumber . '@' . $pCarrier;
// Find out how many message will have to be sent
$MessageCount = ceil(strlen($pMessage)/MAX_SMS_LENGTH);
for ($i = 0; $i < $MessageCount; $i++)
{
// Calculate the subset of the entire message that can be sent at once
$StartIndex = $i * MAX_SMS_LENGTH;
$Message = stripslashes(substr($pMessage, $StartIndex, MAX_SMS_LENGTH));
// Display page numbers on messages that span multiple iterations
if ($MessageCount > 1)
{
$Message .= ' (' . ($i + 1) . '/' . $MessageCount . ')';
}
// Send the message
$Success &= mail($Recipient, null, $Message, 'From: ' . DEFAULT_CELL_SENDER);
}
return $Success;
}
}
?>
它会自动处理跨多个短信寻呼。另外,我知道短信通常限制在160个字符以内,而不是140个。我将限制缩小了20个字符,为电子邮件地址留下了空间。
我希望这可以帮助那里的人。干杯!
可能更适合像PHPClasses这样的网站,因为SO是一个问答网站。 – 2010-06-20 06:49:05
@RussellDias,在这里给你的脚本主要是因为我们可以讨论这些脚本中的缺陷,这不是一个坏主意。 – eugeneK 2010-06-20 06:52:33
我会尽力为你的“问题”添加一个问题。 – Elijah 2010-06-20 06:57:09