C# 打开电子邮件软件的具体方法
发布时间:2022-07-02 10:53:07
标签:C#,电子邮件
使用客户端打开指定的URL
使用Process.Start方法可以在浏览器打开指定的URL。代码如下所示。
[C#]
//使用客户端打开“https://www.jb51.net” System.Diagnostics.Process.Start(www.jb51.net);
打开电子邮件软件
使用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));


猜你喜欢
- 本文实例为大家分享了Java实现考试系统的具体代码,供大家参考,具体内容如下说明这里的考试系统是指由学生,老师以及考试机构成的,学生通过用户
- 前言以前我们还需要手写数据库设计文档、现在可以通过引入screw核心包来实现Java 数据库文档一键生成。话不多说、直接上代码演示。支持的数
- 前文传送门:Netty分布式高性能工具类同线程下回收对象解析异线程回收对象就是创建对象和回收对象不在同一条线程的情况下, 对象回收的逻辑我们
- 一、常见场景1、ThreadLocal作为线程上下文副本,那么一种最常见的使用方式就是用来方法隐式传参,通过提供的set()和get()两个
- 提出问题下面所给代码编译时正常,但是执行时会出错,请指出程序在执行时能够执行到编号为(1)(2)(3)的代码行中的哪一行。using Sys
- string str="aaa|||bbb|||ccc"; string[] sArray=str.Split(new[
- 一、序言Kotlin挂起函数平时在学习和工作中用的比较多,掌握其原理还是很有必要的。本文将一步一步带着大家分析其原理实现。ps: 文中所用的
- 1 分布式1.1 什么是分布式分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。这
- 成员类型访问权限低于字段本身现在假设你有一个小兵类,他的访问权限是仅限当前程序集。internal class 小兵{public int
- 什么是FlutterFlutter 是谷歌推出的开发移动UI框架,可以快速的在IOS和Android上构建高质量的原生用户界面。Flutte
- 添加POM依赖:<!-- spring-boot-监控--><dependency> <group
- view plaincopy to clipboardprint?//手动保存图片 &nbs
- 本文实例讲述了Java实现把两个数组合并为一个的方法。分享给大家供大家参考,具体如下:在Java中,如何把两个String[]合并为一个?看
- 异步操作C++11为异步操作提供了4个接口std::future : 异步指向某个任务,然后通过future特性去获取任务函数的返回结果。s
- 悲观锁和乐观锁是面试高频问题之一,本文将对悲观锁和乐观锁简单的进行一个介绍。悲观锁(Pessimistic Locking)悲观锁在并发环境
- 从Map、JSONObject取不存在键值对时异常1.在Map中取不存在的键值对时不会报异常只会返回null@Test  
- 本文实例讲述了C#序列化与反序列化的方法。分享给大家供大家参考。具体分析如下:把“对象”转换为“字节序列”的过程称为对象的序列化。 
- 一、问题描述如果在 SpringBoot 项目中的 application.properties 配置了某个属性(假如属性名为 test.k
- 本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下1.学生管理系统(控制台界面实现)//学生类,继承Seria
- Android MTU 值修改的实例详解通信术语 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议