• C# 发送邮件实例代码


    1、构造附件

            static List<Attachment> BuildAttachments(List<EmailFile> files)
            {
                if (files == null || files.Count <= 0) { return null; }
    
                List<Attachment> result = new List<Attachment>();
                foreach (var obj in files)
                {
                    try
                    {
                        byte[] buffer = Convert.FromBase64String(obj.Body);
                        System.IO.MemoryStream stream = new System.IO.MemoryStream(buffer, 0, buffer.Length);
    
                        result.Add(new Attachment(stream, obj.Filename, obj.Mimetype));
                    }
                    catch { }
                }
                return result;
            }
    View Code

    2、构造邮件实例,并发送

            static void SendMail(string from, string tos, string ccs, string subject, string body, List<Attachment> attachments)
            {
                try
                {
                    string[] fromMails = from.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                    string[] toMails = tos.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                    string[] ccMails = ccs.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                    MailMessage m = new MailMessage();
                    m.From = new MailAddress(fromMails[0].Trim());
                    foreach (string to in toMails)
                    {
                        m.To.Add(to.Trim());
                    }
                    foreach (string cc in ccMails)
                    {
                        m.CC.Add(cc.Trim());
                    }
    
                    m.Subject = subject;
                    m.Body = body;
                    m.BodyEncoding = System.Text.UnicodeEncoding.UTF8;
                    m.IsBodyHtml = true;
                    if (attachments != null && attachments.Count > 0)
                    {
                        foreach (var obj in attachments) { m.Attachments.Add(obj); }
                    }
                    SmtpClient client = new SmtpClient();
                    client.Host = _configObj.EmailHost;
                    client.UseDefaultCredentials = true;
                    if (string.IsNullOrEmpty(_configObj.EmailUser) == false && string.IsNullOrEmpty(_configObj.EmailPwd) == false)
                    {
                        client.Credentials = new System.Net.NetworkCredential(_configObj.EmailUser.Trim(), _configObj.EmailPwd.Trim());
                    }
                    client.Send(m);
                }
                catch (Exception ex) { throw ex; }
            }
    View Code
  • 相关阅读:
    多线程 介绍
    AE中如何获取曲线的一部分(转)
    friday
    THU
    MON
    SAT
    周三
    TUE
    绝对遗憾!
    monday
  • 原文地址:https://www.cnblogs.com/servant/p/5265663.html
Copyright © 2020-2023  润新知