C# 短信发送 邮件发送
兴趣是最好的老师。 --爱因斯坦
一、实现短信发送
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# 短信发送 邮件发送的更多相关文章
- MVC使用ASP.NET Identity 2.0实现用户身份安全相关功能,比如通过短信或邮件发送安全码,账户锁定等
本文体验在MVC中使用ASP.NET Identity 2.0,体验与用户身份安全有关的功能: →install-package Microsoft.AspNet.Identity.Samples - ...
- php 阿里云短信服务及阿里大鱼实现短信验证码的发送
一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...
- 用Laravel Sms实现 laravel短信验证码的发送
使用Laravel Sms这个扩展包实现短信验证码的发送,这里以阿里云的短信服务为例: 首先,要创建短信签名和短信模板,具体申请详情如下, 接下来,需要创建AccessKey,由于AccessKey是 ...
- spring boot:用redis+lua限制短信验证码的发送频率(spring boot 2.3.2)
一,为什么要限制短信验证码的发送频率? 1,短信验证码每条短信都有成本制约, 肯定不能被刷接口的乱发 而且接口被刷会影响到用户的体验, 影响服务端的正常访问, 所以既使有图形验证码等的保护, 我们仍然 ...
- ios 设置亮度、声音;调用发短信、邮件、打电话
一,设置亮度 [[UIScreen mainScreen] setBrightness:0.5];//0.0~1.0 二,设置声音 1,添加 MediaPlayer.framework 框架 2,在需 ...
- IOS中调用系统的电话、短信、邮件、浏览功能
iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...
- ios开发——实用技术篇Swift篇&地址薄、短信、邮件
//返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAnimated(tru ...
- Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)
结果: 1.不提示发短信卡住,点击没有反映,我猜想,可能是因为我用的是小米手机吧. 2.接收短信报错,我猜想可能是我改了里面的方法吧(哪位大神了解,求指教). 3.project -->opti ...
- app后端设计(3)--短信,邮件,推送服务(2014.12.05更新)
在app的后端设计中,免不了消息的推送,短信,邮件等服务,下面就个人的开发经验谈谈这方面. (1)最重要的是,各种推送一定要放在队列系统中处理,不然会严重影响api的响应时间. (2)短信方面 以前我 ...
- zabbix实现电话、短信、邮件报警
该报警方式提前说明:(1)该方式可以实现zabbix免费电话报警以及微信.短信.邮件报警,但有数量限制.详见如下:如数量不能满足需要以及人员需要,可以考虑购买收费版.(2)毕竟是免费版,电话通知要省着 ...
随机推荐
- 《快学Scala》——控制结构和函数
条件表达式 在Scala中if/else表达式有值,这个值就是跟在if或else之后的表达式的值.例如: if (x > 0) 1 else -1 上述表达式的值是1或-1,具体是哪一个取决于x ...
- [刷题]算法竞赛入门经典(第2版) 4-2/UVa201 - Squares
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,20 ms) #include<iostream> #include<cs ...
- mysql source 报错 Unknown command '\'' 解决办法
系统:Windows2008 R2 source 导入数据总是报错. ERROR:Unknown command '\''.ERROR:Unknown command '\"'.ERROR ...
- System.arraycopy(src, srcPos, dest, destPos, length) 与 Arrays.copyOf(original, newLength)区别
//System.arraycopy,只拷贝已存在的数组元素 int[] src = {0, 1, 2}; int[] dest = new int[3]; System.arraycopy(src, ...
- jsp中的request.setAttribute的使用
1.第一个jsp页面 <form id="form1" method="post" action="first.jsp"> &l ...
- Ultimus BPM 零售和快消品行业应用解决方案
Ultimus BPM 零售和快消品行业应用解决方案 行业应用需求 中国零售及快消品行业正在经历深刻变化.经济下滑,消费回落,行业危机继续发酵:人员工资.房租费用进一步上涨,成本高涨成为不能承受之重: ...
- An Introduction to Stock Market Data Analysis with R (Part 1)
Around September of 2016 I wrote two articles on using Python for accessing, visualizing, and evalua ...
- cookie创建,删除
Cookie 历来指就着牛奶一起吃的点心.然而,在因特网内,“Cookie”这个字有了完全不同的意思.那么“Cookie”到底是什么呢?“Cookie”是小量信息,由网络服务器发送出来以存储在网络浏览 ...
- JS组件系列——自己动手扩展BootstrapTable的treegrid功能
前言:上篇 JS组件系列——自己动手封装bootstrap-treegrid组件 博主自己动手封装了下treegrid的功能,但毕竟那个组件只是一个单独针对树形表格做的,适用性还比较有限.关注博主的 ...
- fidder从基础到熟练
一.fidder介绍 1.Fiddler是一款由C#语言开发的免费http调试代理软件,有.net 2 和 .net 4 两种版本.Fiddler能够记录所有的你电脑和互联网之间的http通讯,Fid ...