C# 打开电子邮件软件
使用客户端打开指定的URL
使用Process.Start方法可以在浏览器打开指定的URL。代码如下所示。
[C#]
//使用客户端打开“http://www.baidu.com” System.Diagnostics.Process.Start(www.baidu.com);
打开电子邮件软件
使用Process.Start方法还可以打开电子邮件软件(Mail)。
下面的代码是打开Mail向邮箱地址lxc880615@163.com”送信的例子。
[C#]
//打开邮件客户端设定“To”为“lxc880615@163.com” System.Diagnostics.Process.Start("mailto: lxc880615@163.com");
补充:“mailto:lxc880615@163.com”和“mailto:?to=lxc880615@163.com”一样。
指定复数的邮箱地址
根据RFC2368中所介绍使用逗号可以指定复数邮件地址。
下面的代码是指定“test1@sample.com”和“test2@sample.com”的例子。
[C#]
System.Diagnostics.Process.Start("mailto:test1@sample.com,test2@sample.com");
指定主题、内容、CC、BCC
使用Process.Start方法还可以指定主题、内容等。下面的代码是指定主题为“你好”的例子。
[C#]
System.Diagnostics.Process.Start("mailto:lxc880615@163.com?subject=您好");
和上面的方法一样,下面的代码是指定内容、CC、BCC的例子。
[C#]
//发送地址
string to = " lxc880615@163.com";
//主题
string subject = "您好";
//内容
string body = "罗旭成欢迎您。"; //
CC string cc = "cc@163.com";//
BCC string bcc = "bcc@163.com"; //打开标准的邮件客户端 System.Diagnostics.Process.Start( string.Format("mailto:{0}?subject={1}&body={2}&cc={3}&bcc={4}", to, subject, body, cc, bcc));
上面的代码中的主题和内容中都出现了文字,一般不会出现错误,但如果“&”、“=”、改行文字等出现时就会发生错误,这时需要进行编码设定。
下面的代码是对上面的代码进行修改使用URL编码的例子。因为需要使用HttpUtility方法,所以必需在引用中追加System.Web.dll。关于编码方法所指定的Encoding类的详细说明请参考这里。
[C#]
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("gb2312");
//发送地址
string to = "lxc880615@163.com ";
//主题
string subject = "您好";
subject = System.Web.HttpUtility.UrlEncode(subject, enc);
//内容
string body = "罗旭成\r\n欢迎您";
body = System.Web.HttpUtility.UrlEncode(body, enc);//
CC string cc = "cc@163.om"; //
BCC string bcc = "bcc@163.com ";
//打开标准的软件客户端
System.Diagnostics.Process.Start( string.Format("mailto:{0}?subject={1}&body={2}&cc={3}&bcc={4}", to, subject, body, cc, bcc));
C# 打开电子邮件软件的更多相关文章
- js 判断是否可以打开本地软件
js判断时候可以打开本地的软件或者插件 点击一个按钮,打开本地的软件,比如问题反馈,需要调起本地的邮箱,填入一些信息. 这个功能<a>标签有提供支持,但是如果本地没有安装邮箱,则无法打开, ...
- 用2003版的Excel使用“宏”打开NMON软件生产的.nmon文件
用2003版的Excel使用“宏”打开NMON软件生产的.nmon文件 nmon analyser——生成 AIX 性能报告的免费工具,可从 NMON 的输出中生成大量的报告图形.nmon_analy ...
- deepin添加新的打开方式软件
在/usr/share/applications文件夹中,你可以先打开一个其他的软件比如geany,然后根据geany的配置配置你所需要的新软件
- C++Builder6.0 新建和打开项目软件死机
大清早上班打开C++Builder6.0软件,打开项目却卡死,甚是奇怪,然后尝试新建项目也同样卡死.尝试打开一个CPP文件,可以打开,再尝试打开项目.bpr文件,便打开了.至于原因为什么,那就不得而知 ...
- Windows下打开某些软件时显示显卡驱动不是最新的问题
在Windows下打开某些对显卡要求比较高的软件时,会出现某些显卡驱动不是最新,要求更新到最新的提示,但是当你真的去更新显卡驱动的时候,却发现现在的显卡驱动已经是最新了,那么为什么还会有这样的提示呢, ...
- 实现HTML调用打开本地软件文件
有时候我们想要实现一个功能,就是在HTML页面点击一个链接就能调用打开本地可执行文件.就像腾讯QQ.迅雷这种. 而实现这种功能其实也很简单,就是需要我们添加修改注册表,实现自定义URL Protoco ...
- NPOI_winfrom导出Excel表格(二)(直接打开Excel软件,将数据填充在当前的sheet中)
//// 存储路径弹框选择 SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.DefaultExt = "xls&qu ...
- 在打开Dreamweaver软件情况下,vs2010 asp项目无法调试
会出现以下情况,只要关闭Dreamweaver就可以正常调试vs2010 asp项目.
- win10系统下如何用命令行的方式打开画图软件
按 win + r 后输入命令 mspaint 再 回车 即可!如下图所示:
随机推荐
- java的static final和final的区别
转自:https://www.cnblogs.com/EasonJim/p/7841990.html 说明:不一定准确,但是最快理解. final: final可以修饰:属性,方法,类,局部变量(方法 ...
- No transactional EntityManager available; nested exception is javax.persistence.TransactionRequiredException: No transactional EntityManager available
参考地址:http://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa/repository/ ...
- Servlet监听器与Timer定时器配合实现JAVA WEB应用简单自动作业
在web应用中,有时候客户需要一些定时程序,不需要客户自己去操作,而是由应用程序自行触发执行某些操作.这个时候监听与定时器的配合使用就基本可以实现这个需求了. 1.创建一个监听的SERVELET,这个 ...
- centos6.5上搭建gitlab服务器(亲测可用哦)
最近的版本控制中,git可谓是脱缰的野马,一发不可收拾.当然git的设计模式也是愈发的成熟,让人刮目相看,完美解决了svn上的不足之处.在目前分布式横行的天下,git可谓是占得了一席之地. 废话少说, ...
- delphi------项目类型
Console Application:控制台应用程序 writeln('HelloWorld'); //接收用户输入字符 readln: //直到用户输入回车结束 VCL Forms Applica ...
- 巨蟒python全栈开发数据库前端3:CSS基础2
1.文本属性 2.背景属性 3.边框属性 4.display属性 5.盒子模型
- jquery练习题
1.自定义登录校验 用户输入用户名和密码 输入的用户名和密码不能为空 如果用户输入的用户名或者密码为空,你就提示它用户名不能为空或者密码不能为空. 知识点:文本操作相关 <!DOCTYPE ht ...
- iOS 数组containsObject:方法
今年上半年打算巩固一下基础知识,将工作和学习中遇到的疑惑尽量搞清楚原理.作为一个菜鸟级别的程序员,我深深的体会到算法和基础的重要性,如果说算法是内功,那么基础就是下盘,只有下盘稳住了,上面才不会轻易倒 ...
- Django - 权限(4)- queryset、二级菜单的默认显示、动态显示按钮权限
一.queryset Queryset是django中构建的一种数据结构,ORM查询集往往是queryset数据类型,我们来进一步了解一下queryset的特点. 1.可切片 使用Python 的切片 ...
- Android ViewGroup onInterceptTouchEvent
public boolean onInterceptTouchEvent (MotionEvent ev) Implement this method to intercept all touch s ...