如何在Windows应用程序中使用SMTP服务器向移动设备发送短信

本文关键字:移动 服务器 SMTP Windows 应用程序 | 更新日期: 2023-09-27 18:37:04


我正在使用 C# 开发一个 Windows 应用程序,其中我想根据某些条件向某个用户发送短信。 我浏览了许多论坛帖子来"使用 SMTP 服务器发送短信",但没有一个对我来说是完全有用的。在这方面,我得到了一些通过Gmail SMTP发送短信的线索,但无法正常工作,因为我认为它是特定于运营商的(不确定)。
我的代码示例:

try
{
    MailMessage message = new MailMessage();
    message.To.Add("1568235685@sms.sancharnet.in");
    message.From = new MailAddress("sameone@gmail.com"); //See the note afterwards...
    message.Body = "Hi, How r you ?";
    SmtpClient smtp = new SmtpClient("smtp.gmail.com");
    smtp.EnableSsl = true;
    smtp.Port = 587;
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtp.Credentials = new NetworkCredential("someonet@gmail.com", "password");
    smtp.Send(message);
    MessageBox.Show("Message sent successfully");
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Error");
}

上面的代码没有给出任何异常或错误,但我的号码也没有收到任何短信。

那么,我想问的是,有没有办法使用SMTP服务器向任何运营商的手机号码发送短信?

如何在Windows应用程序中使用SMTP服务器向移动设备发送短信

您必须发送到 SMS 网关。它是特定于提供程序的。

维基百科有一个短信网关列表。

例如,要发送到Sprint PCS号码,您将发送到 number@messaging.sprintpcs.com,其中号码是电话号码(即5551234567或其他号码)。

对于那些一直在

寻找从网络应用程序发送短信的免费方式,并且在法国,并且有FreeMobile作为运营商的人来说,我刚刚找到了一种方法来调用FreeMobile提供的免费网络服务。我用 C# 编写了这段代码,它工作正常。

private void SendSMSAlert(String message)
{
    try
    {
        String url = "https://smsapi.free-mobile.fr/sendmsg?user="YourFreeMobileIdentifierHere"&pass="YOURPASSHERE"&msg=" + message;
        var request = (HttpWebRequest)WebRequest.Create(url);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        response.Close();
    }
    catch(WebException e)
    {
        System.Diagnostics.Trace.WriteLine("SMS Not Sent! Exception "+e.ToString());
    }
}

因此,如果您在法国有免费的移动线路,则可以从 https://mobile.free.fr/moncompte/

然后,如果您需要将短信转发到其他号码,可以使用AppStore或GooglePlay上的许多移动应用程序来完成。

我希望这有帮助!