C#/Net定时导出Excel并定时发送到邮箱

 

 

一、定时导出Excel并定时发送到邮箱

 

首先我们先分析一下该功能有多少个小的任务点:1.Windows计划服务

2.定时导出Excel定指定路径

3.定时发送邮件包含附件

 

接下来我们一个个解决,

 

1.1发送邮件

 

  1. 现提供一下相关资料:

 

http://www.cnblogs.com/ForEvErNoME/archive/2012/06/05/2529259.html

 

  1. 了解SMTP服务器

 

SMTP具体是指什么?

SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。

  1. 了解常用邮件服务器(例如:QQ邮箱,网易邮箱,新浪邮箱,163邮箱

这里以QQ邮箱为例讲解如何注册邮件服务器:

首先需要注册对应服务提供商免费邮箱,因为你要使用邮件服务提供商的SMTP,他们需要对身份进行验证,这样可以避免产生大量的垃圾邮件。

 注册方式:打开QQ上的QQ邮箱,点击设置,选择账号,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,第一个pop3、SMTP服务,点击后面的 开启,会弹出密保验证,根据要求发短信到号码,发送至后会给你一个密码(一定要记住此密码,这是登陆的凭证)

相关参数:QQ邮箱STMP服务器地址为stmp.qq.com,端口为25(别的邮箱自行百度)

到此,注册邮箱服务器就完成了。

 

 

  1. 接下来我们看如何用程序发送邮件

这里可以参考相关资料:

再次,附上自己的源代码,仅供参考

   需要导入命名空间 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=
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值