作为一只入行不久的小菜鸟,最近接触到利用C#代码发送邮件,做了一点小的demo练习。首先,需要配置,这边我做的是QQ邮箱的相关的练习,练习之前,首先应该解决的问题肯定是关于服务器的配置,这边偷一个懒,不做一一的步骤截图,此外文字表述能力也不及于很好的阐述清楚这个东西,附上百度经验的链接吧 https://jingyan.baidu.com/article/6079ad0eb14aaa28fe86db5a.html。 配置好了之后就开始代码了
第一种方式:

 点击发送按钮执行代码:
/// <summary>
/// 发送
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
SendM send = new SendM();
string sendto = SendTo.Text; //目标邮箱
string zt = txtZt.Text; //邮箱主题
string nr = Nr.Text; //邮箱内容
bool a = CheckEmail.CheckTxtEmail(sendto); //检查邮箱地址是否规范
if (a == true)
{
if( send.SendMessage(sendto, zt, nr)) //调用发送
{
MessageBox.Show("发送成功");
RefreshAll();
}
}
else
{
MessageBox.Show("邮箱地址错误");
RefreshAll();
}
} 上面代码的SendMessage函数:
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="mailto"></param>
/// <param name="mailSubject"></param>
/// <param name="mailContent"></param>
/// <returns></returns>
public bool SendMessage(string mailto,string mailSubject,string mailContent)
{
string stmpSever = "smtp.qq.com"; //服务器
string mailfrom = "**********@qq.com"; //进行QQ邮箱相关配置 用于发送邮件的地址
string mailfromPwd = "**************"; //QQ邮箱开启服务 获取的对应授权码 MailMessage message = new MailMessage();
message.Subject = mailSubject; //邮件的主题
message.Body = mailContent;//邮件的内容
message.BodyEncoding = Encoding.UTF8;
message.From =new MailAddress(mailfrom); //邮箱的地址
message.To.Add(mailto); //目标邮箱
message.Priority = MailPriority.Normal;
message.IsBodyHtml = true; SmtpClient client = new SmtpClient();
client.Host = stmpSever;
client.UseDefaultCredentials = false;
client.Credentials= new NetworkCredential(mailfrom, mailfromPwd);
client.DeliveryMethod = SmtpDeliveryMethod.Network; try
{
client.Send(message);
return true;
}
catch
{
return false;
}

以此实现第一种方式的发送邮件方式,
第二种:利用 System.Web.Helpers 下面的WebMail 类实现发送邮件的方式。
附上代码:

       WebMail.SmtpServer = "smtp.qq.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "*************@qq.com"; //进行QQ邮箱相关配置 用于发送邮件的地址
WebMail.Password = "**************";
WebMail.From = "********@qq.com"; // 用于发送邮件的地址 一般情况下与 username 相同
WebMail.Send(目标邮箱, 邮件主题, 邮件内容);

即可发送,附上微软的官方文档 https://docs.microsoft.com/en-us/previous-versions/aspnet/gg547987(v%3Dvs.111) 以及w3c参考手册 http://home.ustc.edu.cn/~xie1993/aspnet/webpages-ref-webmail.html
以上为自己的demo,作为刚入行的菜鸟,以此记录一下自己的小收获,不足之处敬请各位谅解和指正,感谢

使用C#代码发送邮件,不完整的demo的更多相关文章

  1. MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式

    MVC的验证(模型注解和非侵入式脚本的结合使用)   @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...

  2. yagmail四行代码发送邮件

    yagmail四行代码发送邮件 import yagmail # 链接邮箱服务器 yag = yagmail.SMTP(user="xxxx@163.com", password= ...

  3. spring boot 业务场景简单,代码完整的demo们

    源码地址:https://github.com/zhzhair/spring-boot-examples.git 开发环境:windows,jdk8,spring boot2.1.4

  4. JavaMail发送邮件的笔记及Demo

    最近碰到一个需求,就是注册用户时候需要向用户发送激活邮箱,于是照着网上搜来的demo自己试着运行了一下,发件时我用的是网易163邮箱,收件时用QQ邮箱,运行后报了一个错误: 网络上搜索解决方式,多次尝 ...

  5. JAVA代码发送邮件示例和解释

    下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,好在昨晚终于走通代码成功以163邮箱发送邮件到qq邮 ...

  6. JAVA代码发送邮件示例和解释(二)

    之前有使用过一次在程序中发邮件的功能,也写了一篇相关的笔记,当时使用的是163邮箱,经过测试多个163账号都是可行的.但是最近把账号换成中国移动@chinamobilesz.com这种结尾的时候,却一 ...

  7. Dynamics 365使用代码发送邮件给指定邮箱地址

    摘要: 微软动态CRM专家罗勇 ,回复303或者20190213可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当然,首先要 ...

  8. 代码高亮插件——wangHightLighter.js——demo演示

    wangHighLighter.js demo 语言:   主题: 转换   说明: wangHightLighter.js是一个可以将代码高亮显示的javascript小插件,支持常用的20多语言. ...

  9. java后台代码发送邮件

    1:安装  eyoumailserversetup 易邮邮件服务器 注册账号 2:安装Foxmail 登录以后会有个还原页面 3:测试 4:java 代码编写 配置文件: mail.host=http ...

随机推荐

  1. Redhat下 Apache, php, mysql的默认安装路径

    apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/a ...

  2. 【转】 Pro Android学习笔记(九六):AsyncTask(5):横竖屏切换问题

    目录(?)[-] 横竖屏切换的问题 WeakReference 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flow ...

  3. python3+ros+telnet+telnetlib

    利用python3的telnetlib模块 远程登录ros,输入帐号密码,然后执行命令,并导出结果到txt文本: 不过实际操作这种方式不行,因为telnet导出来的文本文件,带颜色编码,根本无法看哦. ...

  4. 文件操作方法大全以及文件打开的其他一些模式sys.stdout.write()就是标准输出到你当前的屏幕 sys.stdout.flush()把内存立即显示到您当前的屏幕

    read()会让你读取的光标变成最后.tell()把你现在文件的句柄的指针打印出来.文件的开头指针位置是0f.read(5)只读取5个字符串个数如果你想把光标移回去,移动到首位f.seek(0)f.d ...

  5. Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块

    一.前提介绍: 可以开辟作用域的只有类,函数,和模块            for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...

  6. get与post两种方式的优缺点

    get: get是从服务器上获取数据,post是向服务器传送数据: get传送的数据量较小,不能大于2KB.post传送的数据量较大,一般被默认为不受限制.但理论上,IIS4中最大量为80KB,IIS ...

  7. Oracle 10g RAC 如何配置 VIP IPMP

    metalink note 283107.1介绍了如何设置VIP的IPMP,此处记录一下设置过程. o Existing 10g RAC installation ^^^^^^^^^^^^^^^^^^ ...

  8. 自定义ListView里面的Item的内容

    我们不可能满足只是往每个item里面填字就足够,像QQ的好友列表就是一个ListView,每个Item里面有头像.名字啊.签名什么的,内容丰富.那我们要怎么定义一个内容丰富的item呢? 要用到Ada ...

  9. Java的Base64加密原理

    出自:   http://www.cnblogs.com/winner-0715/p/5920269.html http://www.cnblogs.com/koliop090/p/5203553.h ...

  10. MySQL的FORMAT函数用法规则

    1.FORMAT函数在mysql中是数据内容格式化的,格式化后得到结果:###,###,#####. ,); 输出结果: ,000.00 2.可以格式化数据为整数或者浮点数. ); 输出结果: 100 ...