威尼斯人线上娱乐

Mail发送邮件,轻巧的邮件发送功用

23 4月 , 2019  

以此援助类只可以发送简单的基本邮件,只好发送给三个用户,单一内容。不具有抄送作用,附属类小部件增多效果。效能代码如下,

其一援救类只好发送简单的主题邮件,只可以发送给多少个用户,单壹内容。不有所抄送成效,附件加多效果。作用代码如下,

C#Mail发送邮件,轻巧的邮件发送功用。,简单的邮件发送功用,邮件援助类,

以此帮忙类只可以发送轻易的主旨邮件,只可以发送给多少个用户,单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#相关知识。关心自身吗!

那些帮助类只好发送简单的宗旨邮件,只可以发送给七个用户,单壹内容。不具有抄送成效,附件添…

简介

在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的取舍–那是点不清人发不出去邮件的主要之一,账号和密码–发不出来邮箱的另一个重中之重!
QQ邮箱是利用SSL的,然后小心QQ邮箱此处的密码不是您的qq密码!!
不是您的QQ密码!!
。。笔者在这几个坑陷了很久~~很久 ~~很久·
这一个密码你登入qq邮箱,选取安装,然后点击账号
威尼斯人线上娱乐 1
威尼斯人线上娱乐 2
邮箱的密码便是此处的授权码填入后的给您的密码。
126等邮箱发不出去也是因为其有投机的装置。

值得注意的是,使用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地图