c# SendMail发送邮件实例代码

 更新时间:2013年09月04日 15:55:16   作者:  
这篇文章介绍了c# SendMail发送邮件实例代码,有需要的朋友可以参考一下

复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Mail;
using System.Text;

namespace Common
{
    /// <summary>
    /// 基于system.net.mail发送邮件,支持附件
    /// </summary>
    public class NetSendMail
    {
        public static void MailSend(string mailFrom, string maiFromlAccount, string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent, IList<string> mailAttachments, System.Text.Encoding encoding, bool isBodyHtml)
        {
            MailMessage message = new MailMessage();
            if (mailFrom.Trim() == "")
            {
                throw new Exception("发送邮件不可以为空");
            }
            message.From = new MailAddress(mailFrom);
            if (mailTo.Count <= 0)
            {
                throw new Exception("接收邮件不可以为空");
            }
            foreach (string s in mailTo)
            {
                message.To.Add(new MailAddress(s));
            }
            if (mailCC.Count > 0)
            {
                foreach (string s in mailCC)
                {
                    message.CC.Add(new MailAddress(s));
                }
            }
            if (mailBCC.Count > 0)
            {
                foreach (string s in mailBCC)
                {
                    message.Bcc.Add(new MailAddress(s));
                }
            }
            message.Subject = mailTitle;
            message.Body = mailContent;
            message.BodyEncoding = encoding;   //邮件编码
            message.IsBodyHtml = isBodyHtml;      //内容格式是否是html
            message.Priority = MailPriority.High;  //设置发送的优先集
            //附件
            foreach (string att in mailAttachments)
            {
                message.Attachments.Add(new Attachment(att));
            }
            SmtpClient smtpClient = new SmtpClient();
            smtpClient.Host = mailSmtpServer;
            smtpClient.Credentials = new NetworkCredential(maiFromlAccount, mailFromPwd);
            smtpClient.Timeout = 1000;
            smtpClient.EnableSsl = false;        //不使用ssl连接
            smtpClient.Send(message);
        }

        public static void MailSendText(string mailFrom, string maiFromlAccount, string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent)
        {
            List<string> attList = new List<string>();
            MailSend(mailFrom, maiFromlAccount, mailFromPwd, mailSmtpServer, mailTo, mailCC, mailBCC, mailTitle, mailContent, attList, Encoding.UTF8, false);
        }

        public static void MailSendHTML(string mailFrom, string maiFromlAccount, string mailFromPwd, string mailSmtpServer, IList<string> mailTo, IList<string> mailCC, IList<string> mailBCC, string mailTitle, string mailContent)
        {
            List<string> attList = new List<string>();
            MailSend(mailFrom, maiFromlAccount, mailFromPwd, mailSmtpServer, mailTo, mailCC, mailBCC, mailTitle, mailContent, attList, Encoding.UTF8, true);
        }
    }
}

相关文章

  • C#使用FileStream循环读取大文件数据的方法示例

    C#使用FileStream循环读取大文件数据的方法示例

    这篇文章主要介绍了C#使用FileStream循环读取大文件数据的方法,结合实例形式分析了FileStream文件流的形式循环读取大文件的相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • C# WinForm RichTextBox文本动态滚动显示文本方式

    C# WinForm RichTextBox文本动态滚动显示文本方式

    这篇文章主要介绍了C# WinForm RichTextBox文本动态滚动显示文本方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • C#基础概念二十五问 21-25

    C#基础概念二十五问 21-25

    C#基础概念二十五问 21-25...
    2007-04-04
  • 聊聊C# 中HashTable与Dictionary的区别说明

    聊聊C# 中HashTable与Dictionary的区别说明

    这篇文章主要介绍了聊聊C# 中HashTable与Dictionary的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C#使用ToUpper()与ToLower()方法将字符串进行大小写转换的方法

    C#使用ToUpper()与ToLower()方法将字符串进行大小写转换的方法

    这篇文章主要介绍了C#使用ToUpper()与ToLower()方法将字符串进行大小写转换的方法,实例分析了C#大小写转换的相关技巧,需要的朋友可以参考下
    2015-04-04
  • C#使用HttpHelper框架重启路由器

    C#使用HttpHelper框架重启路由器

    这篇文章介绍了C#使用HttpHelper框架重启路由器的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • WPF实现自定义Panel面板的示例详解

    WPF实现自定义Panel面板的示例详解

    WPF中的Panel(面板),是继承自FrameworkElement的抽象类,表示一个可以用来排列子元素的面板,本文主要来和大家聊聊WPF如何实现自定义Panel,感兴趣的可以了解下
    2023-09-09
  • c#使用FreeSql生产环境时自动升级备份数据库

    c#使用FreeSql生产环境时自动升级备份数据库

    使用FreeSql,包含所有的ORM数据库,都会存在这样的问题。在codefirst模式下,根据代码自动更新数据库,都建议不要在生产环境使用。因为容易丢失数据,本文提供一种自动更新数据库的解决的思路:在判断需要升级时,才自动升级,同时升级前先备份数据库
    2021-06-06
  • C#中时间类的使用方法详解

    C#中时间类的使用方法详解

    这篇文章主要介绍C#中的时间类,文中主要介绍了DateTime类,TimeSpan类,DateTimeOffset类及静态类的封装,通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Unity实现鼠标点2D转3D进行旋转

    Unity实现鼠标点2D转3D进行旋转

    这篇文章主要为大家详细介绍了Unity实现鼠标点2D转3D进行旋转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04

最新评论