一、定时导出Excel并定时发送到邮箱
首先我们先分析一下该功能有多少个小的任务点:1.Windows计划服务
2.定时导出Excel定指定路径
3.定时发送邮件包含附件
接下来我们一个个解决,
1.1发送邮件
- 现提供一下相关资料:
http://www.cnblogs.com/ForEvErNoME/archive/2012/06/05/2529259.html
- 了解SMTP服务器
SMTP具体是指什么?
SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
- 了解常用邮件服务器(例如:QQ邮箱,网易邮箱,新浪邮箱,163邮箱…)
这里以QQ邮箱为例讲解如何注册邮件服务器:
首先需要注册对应服务提供商免费邮箱,因为你要使用邮件服务提供商的SMTP,他们需要对身份进行验证,这样可以避免产生大量的垃圾邮件。
※ 注册方式:打开QQ上的QQ邮箱,点击设置,选择账号,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,第一个pop3、SMTP服务,点击后面的 开启,会弹出密保验证,根据要求发短信到号码,发送至后会给你一个密码(一定要记住此密码,这是登陆的凭证)
相关参数:QQ邮箱STMP服务器地址为stmp.qq.com,端口为25(别的邮箱自行百度)
到此,注册邮箱服务器就完成了。
- 接下来我们看如何用程序发送邮件
这里可以参考相关资料:
再次,附上自己的源代码,仅供参考
需要导入命名空间 using System.Net.Mail;
public static void SendEmail() { //声明一个Mail对象 MailMessage mymail = new MailMessage(); mymail.Attachments.Add(new Attachment("D:\\mail.txt")); //为该电子邮件添加附件 附件的路径 //如果是多个附件 继续.Add() mymail.Attachments.Add(new Attachment("C:\\mail.txt")); //发件人地址 //如是自己,在此输入自己的邮箱 mymail.From = new MailAddress(“发件人邮箱号”) //收件人地址 mymail.To.Add(new MailAddress(“收件人邮箱号”)); //邮件主题 mymail.Subject = “邮件主题…”; //邮件标题编码 mymail.SubjectEncoding = System.Text.Encoding.UTF8; //发送邮件的内容 mymail.Body =“邮件内容…”; //邮件内容编码 mymail.BodyEncoding = System.Text.Encoding.UTF8; //抄送到其他邮箱 mymail.CC.Add(new MailAddress(“抄送邮箱号”)); //是否是HTML邮件 mymail.IsBodyHtml = true; //邮件优先级 mymail.Priority = MailPriority.High; //创建一个邮件服务器类 SmtpClient myclient = new SmtpClient(); myclient.Host = "SMTP.qq.com"; //qq邮箱服务器地址,不同的邮箱不同 //SMTP服务端口s myclient.Port = 25; myclient.EnableSsl = true; //验证登录 myclient.Credentials = new NetworkCredential(EmailKey, PasswordKey);//"@"输入有效的邮箱名, "*"输入有效的密码(此密码就是注册邮箱服务器是发送短信后给的密码) myclient.Send(mymail); Console.WriteLine("导出Excel成功!"); } 然而这种方法有一定的弊端,程序发布后,.cs文件不可编辑,而配置文件可以用记事本的方式打开编辑,所以跟数据库的连接字符串一个性质,我们把相关可变的信息放到连接字符串。 在配置文件中进行以下操作: <appSettings> 节点添加以下内容:key value 的形式 <appSettings> <add key="FromKey" value="727472902@qq.com" /> <!—发件人 --> <!--如果发给多个人 改这里 NPOI 教程 http://www.cnblogs.com/atao/archive/2009/11/15/1603528.html "--> <add key="ToAddKey" value="727472902@qq.com" /> <!—收件人 --> <!—主题 --> <add key="SubjectKey" value="仓鲜智能便利店" /> <!—内容--> <add key="BodyKey" value="今日销售报表相关情况" /> <!--抄送人--> <add key="CCAddKey" value="222222@qq.com" /> <!—邮箱服务器 --> <add key=
C#/Net定时导出Excel并定时发送到邮箱
最新推荐文章于 2024-07-16 10:38:37 发布
本文详细介绍了如何使用C#实现定时导出Excel文件并利用SMTP服务器将其作为附件发送到指定邮箱。首先,文章讨论了Windows计划服务、Excel导出和邮件发送的步骤。在邮件发送部分,提供了SMTP协议的简介和QQ邮箱的SMTP服务器配置。接着,文章提到了NPOI库用于Excel导出,并给出了导入与使用的指导。最后,文章演示了如何设置Windows计划任务来定时执行这些功能。
摘要由CSDN通过智能技术生成