如何从Windows Server2008 R2发送短信?SMS文本应记录在该服务器上运行的VMS应用程序中。日志存在于MS SQL 2008数据库中。一旦数据库中的日志表中的日志条目被更新,该日志条目就应该被自动发送短信。做这件事最好的方法是什么?我无法将互联网连接到此服务器,因为这是违法的。一旦存在事件,就可以在该应用程序上发送SMTP邮件。这也是可以的,如果我们可以发送sms基于此smtp邮件来自此应用程序。
发布于 2013-06-12 22:06:14
你可能不想尝试使用电子邮件到一些运营商提供的短信网关(不是最好的路线,有时会被阻止等)。
但是,您可以创建一个接受电子邮件格式为number-prefix@yourdomain的外部服务。像SendGrid或Postmark这样的API提供了接收传入电子邮件并将其转换为web请求(postmark / sendgrid)的API。
然后,您可以使用Nexmo或Twilio之类的SMS将SMS发送给最终用户。本质上是为自己建立一个简单的电子邮件到短信代理。
同时使用电子邮件和SMS API允许您的代理像单个脚本一样简单,接受入站电子邮件并将其转换为SMS。可能有20行左右的代码(如果这样的话)。
或者,您可以将一部手机(甚至是带有SMS屏蔽的Arduino )插入服务器,然后使用几个库直接从该设备发送SMS。不过,维持这一点可能会更痛苦。
发布于 2013-06-13 15:48:40
您也可以使用硬件短信网关。这是一种设备,作为您自己的私人短信网关。您购买它,连接到您的局域网,并直接发送短信到GSM网络。
示例:SMSEagle
如果您将使用数据库事件(在日志表更新时触发)和Powershell脚本(see details on using Powershell support in SQL Server 2008),您可以用这种方式向您的短信网关发送短信(Powershell脚本将短信发送到您的网关)。
用于将SMS (HTTP请求)发送到硬件sms网关的Powershell脚本示例:
param(
[string]$to = $(throw "Script usage: sendsms.ps1 -to -message "),
[string]$message = $(throw "Script usage: sendsms.ps1 -to -message ")
)
Add-Type -AssemblyName System.Web
$yourgatewayip = "192.168.0.101"
$yourgatewayusername = "john"
$yourgatewaypassword = "doe"
$smstext = [System.Web.HttpUtility]::UrlEncode($message)
$url = "http://$yourgatewayip/index.php/http_api/send_sms?login=$yourgatewayusername&pass=$yourgatewaypassword&to=$to&message=$smstext"
$client = New-Object system.Net.WebClient
$result = $client.downloadString($url)
Write-Host $result注意:必须相应地调整$url (取决于您的特定设备)
https://stackoverflow.com/questions/17060720
复制相似问题