C#写的 电子邮件客户端(winform窗体)

摘要:
添加引用usingSystem.Net.Mail;usingSystem.Net;实例化:MailMessagemmsg=newMailMessage();//////发送电子邮件//////发件人邮箱地址///发件人邮箱密码授权码///收件人邮箱地址///邮箱标题///邮件内容///邮箱服务器///publicintSendEmail{//发件者邮箱地址stringfjrtxt=sendEmailAddress;//发件者邮箱密码stringmmtxt=sendEmailPwd;//主题stringzttxt=title;//内容stringnrtxt=content;string[]fasong=fjrtxt.Split('@');//设置邮件协议SmtpClientclient=newSmtpClient;client.EnableSsl=true;client.UseDefaultCredentials=false;//通过网络发送到Smtp服务器client.DeliveryMethod=SmtpDeliveryMethod.Network;//通过用户名和密码认证client.Credentials=newNetworkCredential;//发件人和收件人的邮箱地址//MailMessagemmsg=newMailMessage();//表示电子邮件:MailMessagemmsg.From=newMailAddress;//邮件地址:MailAddressmmsg.To.Add;//邮件主题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;return1;}catch{return0;}}ViewCode上传附件privatevoid上传附件button1_Click{//MailMessagemm=newMailMessage();OpenFileDialogopenFile=newOpenFileDialog();if{mmsg.Attachments.Add;this.fujian.Text=openFile.FileName;}}发送按钮privatevoid发送button2_Click{intmesAge=SendEmail;//mima就是授权码ifMessageBox.Show("发送成功!

C#写的 电子邮件客户端(winform窗体)第1张

如果用QQ邮箱测试需要在邮箱里面设置里面开启POPSMTP协议。并用获取授权码输入到密码框。

添加引用

using System.Net.Mail;
using System.Net;

实例化:MailMessage mmsg = new MailMessage();

C#写的 电子邮件客户端(winform窗体)第2张C#写的 电子邮件客户端(winform窗体)第3张
        /// <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">邮箱服务器</param>
        /// <returns></returns>
        public int SendEmail(string sendEmailAddress, string sendEmailPwd, string msgToEmail, string title, string content, stringhost)
        {
            //发件者邮箱地址
            string fjrtxt =sendEmailAddress;
            //发件者邮箱密码
            string mmtxt =sendEmailPwd;
            //主题
            string zttxt =title;
            //内容
            string nrtxt =content;
            string[] fasong = fjrtxt.Split('@');
            //设置邮件协议
            SmtpClient client = newSmtpClient(host);

            client.EnableSsl = true;

            client.UseDefaultCredentials = false;
            //通过网络发送到Smtp服务器
            client.DeliveryMethod =SmtpDeliveryMethod.Network;
            //通过用户名和密码 认证
            client.Credentials = new NetworkCredential(fasong[0].ToString(), mmtxt);
            //发件人和收件人的邮箱地址
            //MailMessage mmsg = new MailMessage();        //表示电子邮件: MailMessage
mmsg.From = new MailAddress(fjrtxt);         //邮件地址 :MailAddress
mmsg.To.Add(newMailAddress(msgToEmail));
            //邮件主题
            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{
                return 0;
            }
        }
        
View Code

上传附件

        private void 上传附件button1_Click(objectsender, EventArgs e)
        {
            //MailMessage mm = new MailMessage();
            OpenFileDialog openFile = newOpenFileDialog();
            if (openFile.ShowDialog() ==System.Windows.Forms.DialogResult.OK)
            {
                mmsg.Attachments.Add(newAttachment(openFile.FileName));
                this.fujian.Text =openFile.FileName;
            }
        }

发送按钮

 private void 发送button2_Click(objectsender, EventArgs e)
        {
            int mesAge = SendEmail(fajianren.Text, mima.Text, shoujianren.Text, biaoti.Text, neirong.Text, "smtp.qq.com");//mima就是授权码
            if (mesAge == 1)
                MessageBox.Show("发送成功!");
            elseMessageBox.Show("发送失败!");
        }

有问题可以留言

免责声明:文章转载自《C#写的 电子邮件客户端(winform窗体)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Win7远程桌面不能连接的解决方案【html】xlsx文件实现预览,浏览器实现xlsx文件的预览,前端实现xlsx文件的预览下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【Lua】手游聊天系统客户端完成总结

网上很多例子,我是参考这篇文章:http://www.myexception.cn/operating-system/1591495.html 1.聊天系统难题一:消息需要支持插入表情和换行。 一开始我打算借鉴上面文章中的方法自己用label和image拼接实现自己的富文本,后来同事建议我使用cocos2dx自带的富文本空间RichText,网上找了一些例...

Javaweb统计在线人数的小栗子

最近在学习Javaweb相关的内容(不黑不吹之前对web开发零基础),下面通过一个统计在线人数的小栗子讲讲Servlet监听器吧 开发环境 eclipse  tomcat 7 先说说这个小栗子的构思:         首先要考虑的就是通过什么方式能够统计在线人数?很容易想到可以通过session来统计在线人数为什么不是request呢?因为request在...

基本数据类型及String 与ByteArray的读写交互

实现功能: 1.将基本数据类型,如int, long, double, 及String类型数据写入到 byte[]中, 2.从 byte[]中将数据读取到 int, long, double, 及String类型变量中 package com.machuang.io.others; import java.io.BufferedInputStream;...

C#操作access和SQL server数据库代码实例

    在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同。那么,有哪些不同呢?              首先,需要引用不同的类。因为有着不同的数据引擎。     access:using System.Data.OleDb;     sql server:using System.Data.SqlC...

C# WinForm获取当前路径汇总

Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏//获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:xxxxxxxxx.exe (.exe文件所在的目录+.exe文件名)//获取新的Process 组件并将其与当前活动的进程关联的...

带token的get和post方法

GET和POST传值失败,多半是传输的字符串和URL的事 1 public static string ExcuteGetToken(string serviceUrl, string ReqInfo, string token) 2 { 3 using (null) 4 { 5 ServicePointManag...