采用MailMessage和SMTClient端实现发送邮件功能

来源:互联网 发布:怎么创建js文件 编辑:程序博客网 时间:2024/05/17 06:45

        由于项目的需要,需要在web站点中根据时间和信息实现自动的邮件提醒和广播功能,通过与公司IT部门讨论申请到了服务器的地址及端口,同时实现的功能也相对简单,不需要邮件服务器认证,因为不需要账户、密码,只是实现邮件的提醒及广播功能即可。

具体做法如下:

1.包含system,net.mail

2.实现的简单代码如下:

 

           MailMessage message = new MailMessage();

            //设置发送人邮件地址  
            message.From = new MailAddress(FromEmail);

            //将收件人邮件地址添加收件人电子邮件集合中  
            message.To.Add(ToEmail);

            //设置电子邮件主题  
            message.Subject = Subject;

            //设置邮件正文是否可以是HTML标签  ,这里采用默认,也可以是text\/plain或者text/html 
            //message.IsBodyHtml = isBodyHtml;

            //设置电子邮件的优先级  
            message.Priority = MailPriority.High;

            //设置邮件正文  
            message.Body = body;

            //设置主题和正文编码为UTF8  
            message.SubjectEncoding = System.Text.Encoding.UTF8;
            message.BodyEncoding = System.Text.Encoding.UTF8;

            //获取附加到电子邮件的附件集合  
           // message.Attachments.Add(new Attachment(fileupLoadPath));

            //抄送收件人,嘿嘿将邮件发给收件人以外的人喽~~  
            //message.CC.Add("邮箱地址");  

            //密件抄送收件人,嘿嘿我不想别人看到我同时发信给这个邮箱,那就用上吧..  
            //message.Bcc.Add("邮箱地址");  

            //设置邮件的回复地址  
            //message.ReplyTo = new MailAddress("邮件地址");  

            //使用简单邮件传输协议来发送邮件  
            SmtpClient sc = new SmtpClient();

            //设置stmp邮件服务器地址  
            sc.Host = SMTPServer;

            //设置stmp服务器端口,这里使用Gmail的端口  
            sc.Port = 25;

            //随身份验证信息一起发送,false表示不发送身份验证信息 
            //有些 SMTP 服务器要求在代表客户端发送电子邮件前验证客户端的身份. 
            // sc.UseDefaultCredentials = false;  
              //如果服务器不支持ssl则报服务器不支持安全连接错误  
            //Secure Socket Layer(SSL:安全套接字层)是一种能将在用户端与伺服器端间传送的邮件加密的通讯协定  
            //sc.EnableSsl = fasle;  
 
            //验证发件人身份凭据  
            //sc.Credentials = new System.Net.NetworkCredential(userName, password);  
 
            //指定通过网络发送电子邮件  
            sc.DeliveryMethod = SmtpDeliveryMethod.Network;  
 
           //将指定邮件发送到STMP服务器  
            sc.Send(message);  

上面的代码相对比较简单,因为只是实现发送,并不是实现接收或者回复邮件的功能,其实还可以采用jmail控件,由于公司电脑限制很多无法注册jmail控件,所以暂时就采用了.net

自身带的邮件客户端了。同时由于邮件的数据也不是很多,发送的频率也不是很大,使用自带的邮件客户端组件已经足够。后续有机会我也会去研究一下关于jmail的使用,从初步的了解上感觉两个用法差不多,从网上了解到jmail可能对邮件的支持会更好一点吧

0 0
原创粉丝点击