C#发送电子邮件 (异步) z
- ///验证电子邮件的正则表达式
- string emailStr = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
- /// <summary>
- /// 异步发送电子邮件
- /// </summary>
- /// <param name="fromEmail">发送方电子邮件</param>
- /// <param name="fromPwd">发送方电子邮件密码</param>
- /// <param name="toEmail">接收方电子邮件</param>
- /// <param name="subject">邮件标题</param>
- /// <param name="body">邮件内空</param>
- /// <param name="emailType">邮件类型</param> smtp.163.com.cn; smtp.qq.com.cn; smtp.126.com.cn; smtp.sina.com.cn
- private void SendEmailAsync(string fromEmail, string fromPwd, string toEmail, string subject, string body, string emailType)
- {
- MailAddress addrFrom = new MailAddress(fromEmail, fromEmail);
- MailAddress addrTo = new MailAddress(toEmail, toEmail);
- MailMessage mm = new MailMessage(addrFrom, addrTo);
- mm.BodyEncoding = Encoding.UTF8;
- mm.IsBodyHtml = true;
- mm.Subject = subject;
- mm.Body = body;
- if (!string.IsNullOrEmpty(attFile))
- {
- Attachment att = new Attachment(attFile, MediaTypeNames.Application.Octet);
- ContentDisposition cd = att.ContentDisposition;
- cd.CreationDate = File.GetCreationTime(attFile);
- cd.ModificationDate = File.GetLastWriteTime(attFile);
- cd.ReadDate = File.GetLastAccessTime(attFile);
- mm.Attachments.Add(att);//添加附件
- }
- NetworkCredential nc = new NetworkCredential(fromEmail, fromPwd);
- SmtpClient smtp = new SmtpClient(emailType);
- smtp.UseDefaultCredentials = false;
- smtp.Credentials = nc;
- smtp.EnableSsl = false;
- smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
- smtp.SendCompleted+=new SendCompletedEventHandler(smtp_SendCompleted);
- smtp.SendAsync(mm, "OK");
- }
- void smtp_SendCompleted(object sender, AsyncCompletedEventArgs e)
- {
- if (e.UserState.ToString() == "OK")
- MessageBox.Show("发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
C#发送电子邮件 (异步) z的更多相关文章
- 【简说Python WEB】flask-mail电子邮件异步Asynchronous
系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6.9 flask-mail电子邮件异步Asynchronou ...
- JAVA实现发送电子邮件
相信大家对于网站也好,手机app也好,用户注册时,需要进行邮箱验证的功能特别好奇吧,本篇我将带领大家一起实现一下这个简单而又神奇的小功能,让我们的应用也可以加入这些神奇的元素.废话不多说,下面开始我们 ...
- WordPress ”无法发送电子邮件,可能原因:您的主机禁用了mail()函数“的解决办法
WordPress网站中出现 "无法发送电子邮件,可能原因:您的主机禁用了mail()函数"的情况一般都是因为所在主机环境不支持在线邮件收发功能导致,如果不支持的话,那么像类似 N ...
- javamail模拟邮箱功能发送电子邮件-基础实战篇(javamail API电子邮件实例)
引言: JavaMail 是一种可选的.能用于读取.编写和发送电子消息的包 JavaMail jar包下载地址:http://java.sun.com/products/javamail/downlo ...
- javamail模拟邮箱功能发送电子邮件-中级实战篇【新增附件发送方法】(javamail API电子邮件实例)
引言: JavaMail jar包下载地址:http://java.sun.com/products/javamail/downloads/index.html 此篇是紧随上篇文章而封装出来的,阅读本 ...
- 在ASP.NET中发送电子邮件的实例教程
首先.导入命名空间: 代码如下 复制代码 using System.Net.Mail; 定义发送电子邮件的方法[网上很多不同的,可以对比着看一下,WinForm的也适用]: 代码如下 复制代码 /// ...
- ASP.NET 发送电子邮件简介
1.补充知识 (1)POP3和SMTP服务器是什么? 简单点来说:POP3 用于接收电子邮件 ,SMTP 用于发送电子邮件. (1)POP3具体指什么? POP3(Post Office Protoc ...
- 使用php发送电子邮件(phpmailer)
在项目开发过程中,经常会用到通过程序发送电子邮件,例如:注册用户通过邮件激活,通过邮件找回密码,发送报表等.这里介绍几种通过PHP发送电子邮件的 方式(1)通过mail()函数发送邮件(2)使用fso ...
- 利用Excel批量高速发送电子邮件
利用Excel批量高速发送电子邮件,分两步: 1. 准备待发送的数据: a.) 打开Excel,新建Book1.xlsx b.) 填入以下的内容, 第一列:接收人,第二列:邮件标题,第三列:正文,第四 ...
随机推荐
- HDU - 2276 位运算矩阵快速幂
挺有意思的一道题 要会运用一些常见的位运算操作进行优化 题目的本质就是要求下面的式子 \(dp[i][j+1]=(dp[i-1][j]+dp[i][j]) \mod 2\) (第\(i\)个字符在\( ...
- C# 通用区间类
public class Zone<T> where T : IComparable<T> { /// <summary> /// .ctor /// </s ...
- dedecms 中变量函数
{dede:global.cfg_cmsurl/} 是网站根目录{dede:global.cfg_cmsurl/} 是当前目录{dede:global.cfg_templets_skin/} 当前模板 ...
- D. Diverse Garland-----CF字符串
D. Diverse Garland time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- Python异常基础
一.常见异常及场景举例 1.AssertionError 断言失败,断言是调试中常用(表示自己并不常用┑( ̄Д  ̄)┍)手段 举例: def foo(s): n = int(s) assert n ! ...
- Python 用栈判断括号匹配
#!/usr/bin/python # -*- coding: UTF-8 -*- from pythonds.basic.stack import Stack def parChecker(symb ...
- 抓包来看ftp状态码
1.quit退出 客户端输入退出命令: 退出的抓包数据交换过程: 2.用户登录,输入正确用户名和错误用户名都是返回331请求输入密码,这里不再将错误用户名的抓包数据交换过程截图. 数据交换过程: 服务 ...
- opensuse 安装oracle 界面乱码
执行.runInstall时,出现界面乱码 export LANG=en_US export LC_ALL=en_US 终端里 执行这两句.用英文界面安装 再执行 .runInstall
- TOJ 3651 确定比赛名次
描述 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排 名,但现在裁判委员会不能直接获得每个队的比赛成绩 ...
- 8086中断系统——《x86汇编语言:从实模式到保护模式》读书笔记04
80X86中断系统 能够处理256个中断 用中断向量号0-255区别 可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理 1.中断的分类 中断可以分为内部中断和外部中断. (1)内 ...