邮件帮衬类,Mail发送邮件

其一支持类只可以发送简单的为主邮件,只可以发送给八个用户,单一内容。不有所抄送成效,附属类小部件增多效果。作用代码如下,

本条帮忙类只可以发送轻巧的基本邮件,只好发送给八个用户,单1内容。不持有抄送功效,附属类小部件增多效果。作用代码如下,

C#,轻易的邮件发送效能,邮件辅助类,

其1协理类只可以发送轻巧的着力邮件,只可以发送给多少个用户,单1内容。不抱有抄送成效,附属类小部件增加效果。效用代码如下,

        private void button3_Click(object sender, EventArgs e)
        {
            int result = SendEmail("[email protected]", "123456", new string[] { "[email protected]" }, "测试标题", "测试内容", "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#连锁文化。关心本身吗!

那些匡助类只好发送简单的基本邮件,只可以发送给多少个用户,单一内容。不具备抄送效用,附属类小部件添…

简介

邮件帮衬类,Mail发送邮件。在WEB开拓时,我们日常会利用到发送邮件的功用,注册时或然改动密码时,需求验证邮箱,在flask的强大中有Flask-mai来提携成功这壹功用

        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;
            }
        }
        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;
            }
        }

配置

flask-mail发送邮件需求你提供你的信箱账号和密码。有个别配置是发送邮箱所必须的·。一大半flask初学者一般未有云主机和域名来搭建邮箱服务器,所以我们只可以选取qq等邮件服务商给你的信箱
那里介绍了什么样陈设邮箱的config
支出在mail文件夹中

#/app/config
MAIL_SERVER = 'smtp.qq.com'
MAIL_PORT = 465
MAIL_USE_TLS = False
MAIL_USE_SSL = True
# 注意此处,很多人配置发不出去和这个是有关系的
MAIL_PASSWORD = '**********'
MAIL_USERNAME = '********@qq.com'

那里以qq邮箱为例子,我们填入了qq邮箱的服务器地址,他的邮箱服务的端口,TLS,SSL的选料–那是不少人发不出去邮件的重要之一,账号和密码–发不出来邮箱的另3个最首要!
QQ邮箱是选拔SSL的,然后小心QQ邮箱此处的密码不是您的qq密码!!
不是你的QQ密码!!
。。作者在那个坑陷了很久~~很久 ~~很久·
那些密码你登入qq邮箱,选取安装,然后点击账号
美高梅开户网址 1
美高梅开户网址 2
邮箱的密码正是此处的授权码填入后的给您的密码。
1二陆等邮箱发不出去也是因为其有和睦的设置。

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

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

职能完毕

完成大家要求贰个app实例

#/usr/bin/env python
# mail/app.py
from flask import Flask
from flask_mail import Mail, Message
from threading import Thread


app = Flask(__name__)
mail = Mail(app)

def send_async_email(app,msg):
    with app.app_context():
        mail.send()

def SendMail():
    msg = Message('test',sender='***@qq.com',\
                        recipients=["***@example.com"])
#recipients是个列表,包含所有收件人
#此处的test是邮箱的主题,sender和config中的MAIL_USERNAME要一致哦
    msg.body = 'testbody'
    msg.html = '<b>test</b>body'
#邮件发送给目标,可以有文本,两种方式呈现,你能看见怎样的取决于你的客户端
    thr = Thread(target=send_async_email,args=[app,msg])
#使用多线程,在实际开发中,若是不使用异步、多线程等方式,网页会卡住
    thr.start()
    return 'ok'

在时下文件夹使用python

>>from app import SendMail
>>SendMail() 

邮件就会马到功成产生去啊

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

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

补充

美高梅开户网址 ,在切切实实进行中,发送邮箱会被架空成贰个函数,msg的body和html方式一般会使用flask的render_tempalte来渲染
发送大批量邮件时,QQ、12陆信箱服务器很有异常的大或然以为你在发送垃圾邮件由此发不出去。
生产情形时应有接纳自个儿搭的信箱服务器,或许邮箱服务商提供的集团邮箱

迎接大家①块儿来和自身探究C#相关知识。关心小编吗!

招待大家1道来和自家商量C#相关文化。关怀小编呢!

参考

flask-login汉语文档

 

  

 

  

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图