• C# Mail 发送邮件


    using System;
    using System.Net.Mail;
    using System.Net;
    
    namespace AmwITx.Framework.Components
    {
        public class MailPass
        {
            /// <summary>
            /// 发送邮件服务器
            /// </summary>
            public string SmtpServer { get; set; }
            /// <summary>
            /// 发送邮箱帐号
            /// </summary>
            public string UserName { get; set; }
            /// <summary>
            /// 发送邮箱密码
            /// </summary>
            public string PassWord { get; set; }
            /// <summary>
            /// 发送地址
            /// </summary>
            public string FromMail { get; set; }
        }
    
        public class MailParameter
        {
            /// <summary>
            /// 邮件主题
            /// </summary>
            public string Subject { get; set; }
            /// <summary>
            /// 发件人公司
            /// </summary>
            public string IncName { get; set; }
            /// <summary>
            /// 接收地址
            /// </summary>
            public string ToMail { get; set; }
            /// <summary>
            /// 抄送"邮箱名,邮箱名......"
            /// </summary>
            public string BccMail { get; set; }
            /// <summary>
            /// 邮件内容
            /// </summary>
            public string MailContent { get; set; }
        }
    
        public class MailService
        {
            /// <summary>
            /// 发送邮件
            /// </summary>
            public static MailResult Send(MailPass pass, MailParameter parameter)
            {
                if (string.IsNullOrEmpty(pass.SmtpServer))
                    throw new Exception("parameter server not null");
                var sendResult = new MailResult();
                try
                {
                    var frommail = parameter.IncName + "<" + pass.FromMail + ">";
                    var mail = new MailMessage(pass.FromMail, parameter.ToMail);
    
                    mail.Subject = parameter.Subject;
                    mail.IsBodyHtml = true;
                    mail.Body = parameter.MailContent;
    
                    //抄送给多人
                    if (!string.IsNullOrEmpty(parameter.BccMail))
                    {
                        var bccmails = parameter.BccMail.Split(',');
                        foreach (var bcc in bccmails)
                        {
                            mail.Bcc.Add(bcc);
                        }
                    }
    
                    mail.Sender = new MailAddress(frommail);
                    mail.SubjectEncoding = System.Text.Encoding.GetEncoding("utf-8");
    
                    var client = new SmtpClient(pass.SmtpServer);
    
                    client.Credentials = new NetworkCredential(pass.UserName, pass.PassWord);
                    client.UseDefaultCredentials = true;
                    client.Send(mail);
    
                    sendResult.IsSuccess = true;
                }
                catch (Exception ex)
                {
                    sendResult.IsSuccess = false;
                    sendResult.ErrorMessage = ex.Message;
                }
                return sendResult;
            }
        }
        public class MailResult
        {
            /// <summary>
            /// 是否发送成功
            /// </summary>
            public bool IsSuccess { get; set; }
            /// <summary>
            /// 错误信息
            /// </summary>
            public string ErrorMessage { get; set; }
            /// <summary>
            /// 字符串
            /// </summary>
            /// <returns></returns>
            public override string ToString()
            {
                return IsSuccess + "|" + ErrorMessage;
            }
        }
    }
  • 相关阅读:
    Android绝黑剑之AutoCompleteTextView、MultiAutoCompleteTextView之智能联想
    F5 BIGIP负载均衡器配置实例与Web管理界面体验
    Java进阶之动态绑定
    某大型银行深化系统之二十:异常规范
    数据结构之排序
    数据结构之数组
    使用ssh来登录其它linux机器
    beanstalkc简易指令说明集
    ruby数组方法concat和push的区别
    uWSGI基础攻略
  • 原文地址:https://www.cnblogs.com/tearer/p/1778254.html
Copyright © 2020-2023  润新知