zoukankan      html  css  js  c++  java
  • C#,简单的邮件发送功能,邮件辅助类

    这个帮助类只能发送简单的基本邮件,只能发送给多个用户,单一内容。不具有抄送功能,附件添加功能。功能代码如下,

            private void button3_Click(object sender, EventArgs e)
            {
                int result = SendEmail("123456@qq.com", "123456", new string[] { "530794089@qq.com" }, "测试标题", "测试内容", "smtp.qq.com");
                MessageBox.Show(result.ToString());
            }
            ///<summary>
            /// 发送邮件
            ///</summary>
            ///<param name="sendEmailAddress">发件人邮箱</param>
            ///<param name="sendEmailPwd">发件人密码</param>
            ///<param name="msgToEmail">收件人邮箱地址</param>
            ///<param name="title">邮件标题</param>
            ///<param name="content">邮件内容</param>
            ///<param name="host">邮件SMTP服务器</param>
            ///<returns>0:失败。1:成功!</returns>
    
            public static int SendEmail(string sendEmailAddress, string sendEmailPwd, string[] msgToEmail, string title, string content, string host)
            {
                //发件者邮箱地址
                string fjrtxt = sendEmailAddress;
                //发件者邮箱密码
                string mmtxt = sendEmailPwd;
                //主题
                string zttxt = title;
                //内容
                string nrtxt = content;
                string[] fasong = fjrtxt.Split('@');
                //设置邮件协议
                SmtpClient client = new SmtpClient(host);   //System.Net.Mail.SmtpClient
                client.UseDefaultCredentials = false;
                //通过网络发送到Smtp服务器
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                //通过用户名和密码 认证
                client.Credentials = new NetworkCredential(fasong[0].ToString(), mmtxt);  //System.Net.NetworkCredential
                //QQ邮箱使用ssl加密,需要设置SmtpClient.EnableSsl 属性为True表示“指定 SmtpClient 使用安全套接字层 (SSL) 加密连接。”
                client.EnableSsl = true;
    
                //发件人和收件人的邮箱地址
                MailMessage mmsg = new MailMessage();
                mmsg.From = new MailAddress(fjrtxt);
                for (int i = 0; i < msgToEmail.Length; i++)
                {
                    mmsg.To.Add(new MailAddress(msgToEmail[i]));
                }
                //邮件主题
                mmsg.Subject = zttxt;
                //主题编码
                mmsg.SubjectEncoding = Encoding.UTF8;
                //邮件正文
                mmsg.Body = nrtxt;
                //正文编码
                mmsg.BodyEncoding = Encoding.UTF8;
                //设置为HTML格式
                mmsg.IsBodyHtml = true;
                //优先级
                mmsg.Priority = MailPriority.High;
                try
                {
                    client.Send(mmsg);
                    return 1;
                }
                catch (Exception exss)
                {
                    string msg = exss.Message;
                    return 0;
                }
            }

    值得注意的是,使用QQ邮箱时,发件人密码使用的是QQ邮箱独立密码

    在winform程序测试有效,关于在web页面使用,有待测试。

    欢迎大家一起来和我讨论C#相关知识。关注我吧!

  • 相关阅读:
    AspNetPager分页控件
    Asp.Net MVC 路由表
    自动检测海岸线,生成海浪网格
    斜坡刷子,一种好用的地形编辑方式
    用NVPerfHud4剖析Farcry的绘制过程
    初学BSP,上一些测试数据
    让游戏通过红蓝立体眼镜展现立体效果
    没有贴图拉伸的陡峭悬崖
    刚刚做的Bloom(伪HDR)效果
    近两个礼拜地图编辑器的一些进展
  • 原文地址:https://www.cnblogs.com/zqt14520/p/5848904.html
Copyright © 2011-2022 走看看