兴趣是最好的老师。  --爱因斯坦

一、实现短信发送

1.使用短信mao的方式进行短信发送,前提要购买硬件设备,这里就不考虑展示了;

2.使用中国网建提供的短信平台,但是用几次后要收费;

我们这里主要介绍第二种方式实现短信发送,在网上(http://sms.webchinese.cn/)注册账号(注意密码不是短信密钥需自行获取),具体实现,可以参考SMS短信通API下行接口(http://sms.webchinese.cn/api.shtml),多种语言实现例子都有,笔者这里用C#实现

下面是代码demo

     private string strurl = "http://utf8.sms.webchinese.cn/?";
private string strUid = "Uid=";
private string strKey = "&Key=";
private string strsmsMon = "&smsMob=";
private string strsmsText = "&smsText=";
public MainForm()
{
InitializeComponent();
}
private void btnSend_Click(object sender, EventArgs e)
{
if(txtSMSUserID.Text!=""&& txtTel.Text!="" && txtSMSUserID.Text != "")
{
string url = strurl + strUid + txtSMSUserID.Text + strKey + strsmsMon + txtTel.Text + strsmsText + txtContent.Text;
string result= GetHtmlFromUrl(url);
MessageBox.Show(result);
}
}
private string GetHtmlFromUrl(string url)
{
string targetUrl = url.Trim().ToString();
string result = null;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetUrl);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
request.Method = "GET";
request.Timeout = * * ;
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.Default);
result = reader.ReadToEnd();
}
catch (Exception ex)
{
throw new Exception(ex.StackTrace);
}
return result;
}

二、实现邮件发送

. NET提供了很多很丰富的邮件发送与接收的API在System.Net.Mail命名空间里,使得实现邮件收发功能变得简单,下面是一个简单的邮件发送例子

下面是代码demo

     private string smtpService = "smtp.dnaerp.com";
private string sendEmail = "Michael@dnaerp.com";
private string sendPwd = ""; public MainForm()
{
InitializeComponent();
} private void btnSend_Click(object sender, EventArgs e)
{
SmtpClient client = new SmtpClient(smtpService);
MailAddress sendAddress = new MailAddress(sendEmail,"MichaelTest");
MailAddress receiverAddress = new MailAddress(txtReceiver.Text);
MailMessage message=new MailMessage(sendAddress, receiverAddress);
message.Subject = "邮件demo测试";
message.SubjectEncoding = Encoding.Default;
message.Body = txtContent.Text;
message.BodyEncoding = Encoding.Default;
message.To.Add("");
message.CC.Add("");
client.DeliveryMethod = SmtpDeliveryMethod.Network;
//是否启用ssl 安全发送
client.EnableSsl = false;
try
{
client.UseDefaultCredentials = false;
NetworkCredential credential = new NetworkCredential(sendEmail,sendPwd);
client.Credentials = credential;
client.Send(message);
MessageBox.Show("邮件发送成功");
}
catch (Exception ex)
{
throw new Exception(ex.StackTrace);
}
}

关于实现发送短信,发送邮件的学习就到此结束了,希望能够帮到你,若有不足,欢迎斧正,感谢您的阅读。

 

C# 短信发送 邮件发送的更多相关文章

  1. MVC使用ASP.NET Identity 2.0实现用户身份安全相关功能,比如通过短信或邮件发送安全码,账户锁定等

    本文体验在MVC中使用ASP.NET Identity 2.0,体验与用户身份安全有关的功能: →install-package Microsoft.AspNet.Identity.Samples - ...

  2. php 阿里云短信服务及阿里大鱼实现短信验证码的发送

    一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...

  3. 用Laravel Sms实现 laravel短信验证码的发送

    使用Laravel Sms这个扩展包实现短信验证码的发送,这里以阿里云的短信服务为例: 首先,要创建短信签名和短信模板,具体申请详情如下, 接下来,需要创建AccessKey,由于AccessKey是 ...

  4. spring boot:用redis+lua限制短信验证码的发送频率(spring boot 2.3.2)

    一,为什么要限制短信验证码的发送频率? 1,短信验证码每条短信都有成本制约, 肯定不能被刷接口的乱发 而且接口被刷会影响到用户的体验, 影响服务端的正常访问, 所以既使有图形验证码等的保护, 我们仍然 ...

  5. ios 设置亮度、声音;调用发短信、邮件、打电话

    一,设置亮度 [[UIScreen mainScreen] setBrightness:0.5];//0.0~1.0 二,设置声音 1,添加 MediaPlayer.framework 框架 2,在需 ...

  6. IOS中调用系统的电话、短信、邮件、浏览功能

    iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...

  7. ios开发——实用技术篇Swift篇&地址薄、短信、邮件

    //返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAnimated(tru ...

  8. Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)

    结果: 1.不提示发短信卡住,点击没有反映,我猜想,可能是因为我用的是小米手机吧. 2.接收短信报错,我猜想可能是我改了里面的方法吧(哪位大神了解,求指教). 3.project -->opti ...

  9. app后端设计(3)--短信,邮件,推送服务(2014.12.05更新)

    在app的后端设计中,免不了消息的推送,短信,邮件等服务,下面就个人的开发经验谈谈这方面. (1)最重要的是,各种推送一定要放在队列系统中处理,不然会严重影响api的响应时间. (2)短信方面 以前我 ...

  10. zabbix实现电话、短信、邮件报警

    该报警方式提前说明:(1)该方式可以实现zabbix免费电话报警以及微信.短信.邮件报警,但有数量限制.详见如下:如数量不能满足需要以及人员需要,可以考虑购买收费版.(2)毕竟是免费版,电话通知要省着 ...

随机推荐

  1. hdu 2710 Max Factor 数学(水题)

    本来是不打算贴这道水题的,自己却WA了三次.. 要考虑1的情况,1的质因子为1 思路:先打表 ,然后根据最大质因子更新结果 代码: #include<iostream> #include& ...

  2. 数组的重排序方法reverse()和sort()

    js数组中存在两个可以直接用来重排序的方法:reverse()和sort(). reverse()方法比较简单,直接反转数组项的顺序: var arr = [1, 3, 2, 4, 5]; arr.r ...

  3. webpack的多文件打包问题

    1.第三方库如vue,vue-router可以利用webpack中的entry指定vendor:['vue','vue-router']来打包在一个文件中 2.将这些文件单独提取出来,在页面中使用&l ...

  4. GirdView分页

    给gridview增加以下时间,即可 设置pageindex 重新绑定数据 protected void GvMenu_PageIndexChanging(object sender, GridVie ...

  5. Hibernate createQuery调用joincolumn

    1. Beans a. Version Bean package locationService.beans; import java.sql.Timestamp; import java.util. ...

  6. 分辨率、像素和PPI

    屏幕尺寸是指屏幕对角线的长度,一般以英寸为单位,1英寸(inch)=2.54厘米(cm).传统意义上的照片尺寸也是这个概念.所以同样尺寸(指对角线)的屏幕,也可能长宽比率不同.像素(Pixel):是位 ...

  7. struts2.1.6教程七、国际化

    尽管国际化不是重点内容,但是也有必要了解它的使用.在struts2中国际化有三种级别:分别是针对某个Action的action级别,针对package的package级别,针对webapp的webap ...

  8. Customer segmentation – LifeCycle Grids with R(转)

    I want to share a very powerful approach for customer segmentation in this post. It is based on cust ...

  9. Sampling Distributions and Central Limit Theorem in R(转)

    The Central Limit Theorem (CLT), and the concept of the sampling distribution, are critical for unde ...

  10. iOS 原生模块 给 Javascript(ReactNative) 发送事件 (通知监听)

    官方中文文档是这样描述的:   就给我们这几句话 就打发我们了. 按照上面的写法,根本不知道  - (void)calendarEventReminderReceived:(NSNotificatio ...