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)毕竟是免费版,电话通知要省着 ...
随机推荐
- oracle AWR性能监控报告生成方法
目前相当一部分公司会用到oracle,在做性能测试的时候,对数据库的监控很重要,那么这里先介绍下如何生成oracle自带的awr监控报告,而具体报告的内容分析会放在后续的博客中 oracle性能分析入 ...
- poj Layout 差分约束+SPFA
题目链接:http://poj.org/problem?id=3169 很好的差分约束入门题目,自己刚看时学呢 代码: #include<iostream> #include<cst ...
- 关于JS面向对象中原型和原型链以及他们之间的关系及this的详解
一:原型和原型对象: 1.函数的原型prototype:函数才有prototype,prototype是一个对象,指向了当前构造函数的引用地址. 2.函数的原型对象__proto__:所有对象都有__ ...
- [笔记]NumPy基础操作
学机器学习做点小笔记,都是Python的NumPy库的基本小操作,图书馆借的书看到的,怕自己还了书后忘了,就记下来. 一般习惯导入numpy时使用 import numpy as np ,不要直接im ...
- [刷题]算法竞赛入门经典(第2版) 6-8/UVa806 - Spatial Structures
题意:黑白图像的路径表示法 代码:(Accepted,0.120s) //UVa806 - Spatial Structures //Accepted 0.120s //#define _XIENAO ...
- [刷题]算法竞赛入门经典(第2版) 5-14/UVa1598 - Exchange
题意:模拟买卖,当出售价bid等于或低于出售价ask,则交易. 代码:(Accepted,0.330s) //UVa1598 - Exchange //Accepted 0.330s //#defin ...
- RabbitMQ学习3----运行和管理RabbitMQ
1.服务为管理 Erlang天生就是为了让应用程序无需知道对方是否存在同一台机器上即可互相通信. Erlang节点:Erlang虚拟机的每个实例.多个Erlang应用程序可以运行在同一个节点之上.节点 ...
- 18、面向对象基本原则及UML类图简介
18.1.面向对象基本原则 18.1.1.面向抽象原则 抽象类特点: a.抽象类中可以有abstract方法,也可以有非abstract方法. b.抽象类不能用new运算符创建对象. c.如果一个非抽 ...
- Spring MVC和Struts2的比较
Spring MVC PK Struts2 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置.spring3 mvc可以认为已经100%零配置了(除了配置spring mvc ...
- Flight学习(一)
翻看git时看到有新消息提示,点进去第一个就是Flight,那么今天就简单来翻译和了解一下这个框架吧,锻炼下自己的英文文档阅读能力,同时也熟悉下JavaScript.时间太赶,难免出现翻译失误和错误, ...