我可以从C#应用程序发送短信吗?

Llo*_*oyd 7 c# sms desktop-application winforms sms-gateway

我正在寻找一个程序,允许我直接从C#应用程序发送SMS消息.我打算建立一个"自动约会提醒"系统,该系统会自动向收件人的手机发送短信,通知他们即将到来的预约.

任何人都可以建议我如何实现这种类型的功能,因为我没有"移动通信"和桌面应用程序的移动连接经验.

我的运营商是EE(如果有帮助吗?)

任何帮助将不胜感激.

P.B*_*key 9

大多数主要运营商都提供电子邮件给文本服务 该程序可以使用电子邮件发送短信.例如:

发送电子邮件

var message = new MailMessage();
message.From = new MailAddress("sender@foo.bar.com");

message.To.Add(new MailAddress("5551234567@txt.att.net"));//See carrier destinations below
//message.To.Add(new MailAddress("5551234568@txt.att.net"));

//message.CC.Add(new MailAddress("carboncopy@foo.bar.com"));
message.Subject = "This is my subject";
message.Body = "This is the content";

var client = new SmtpClient();
client.Send(message);
Run Code Online (Sandbox Code Playgroud)

承运人目的地

  • ATT:撰写新邮件并使用收件人的10位无线电话号码,然后是@ txt.att.net.例如,5551234567 @ txt.att.net.
  • Verizon:同样,## @ vtext.com
  • Sprint:##@messaging.sprintpcs.com
  • TMobile:## @ tmomail.net
  • Virgin Mobile:## @ vmobl.com
  • Nextel:##@messaging.nextel.com
  • 提升:## @ myboostmobile.com
  • Alltel:## @ smeage.alltel.com
  • EE:## @ emms.ee.co.uk(可能支持发送而无需回复)

备择方案

  • 有些供应商通过API提供SMS消息服务

  • 所以你必须在每个实例中都知道文本接收者的载体?有没有办法根据他们的电子邮件地址来解决这个问题? (2认同)
  • 如今,您可以使用 AWS SNS 等提供商来避免了解运营商:https://docs.aws.amazon.com/sns/latest/dg/sns-mobile-phone-number-as-subscriber.html (2认同)

ric*_*ett 6

Twilio具有一个C#帮助程序库,您可以通过它进行操作。

这是使用库发送文本消息所需的代码:

using System;
using Twilio;
class Example
{
  static void Main(string[] args)
  {
    // Find your Account Sid and Auth Token at twilio.com/user/account
    string AccountSid = "{{ account_sid }}";
    string AuthToken = "{{ auth_token }}";

    var twilio = new TwilioRestClient(AccountSid, AuthToken);
    var message = twilio.SendMessage("+14158141829", "+14159352345", "This text message was sent with code!");

    Console.WriteLine(message.Sid);
  }
}
Run Code Online (Sandbox Code Playgroud)

免责声明:我为Twilio工作。


BSG*_*BSG 5

您可以通过多种方式发送短信

  • 使用 GSM 调制解调器
  • 使用网络服务
  • 使用服务提供者提供的端点

您可以通过下面提供的链接了解上述每一点的基本逻辑,并尝试在您的代码中实现这一点。

http://www.codeproject.com/Articles/19023/Sending-SMS-using-NET

您需要像这样在表单构造函数中创建 sms 引擎的实例。

  public partial class Form1 : Form
    {
        SMSCOMMS SMSEngine;

        public Form1()
        {

                    SMSEngine = new SMSCOMMS("COM1");



            InitializeComponent();
            SMSEngine.Open();
        }

        private void button1_Click(object sender, EventArgs e)
        {
          SMSEngine.SendSMS("919888888888","THIS IS YOUR MESSAGE");
          SMSEngine.Close();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)