C# Winforms 发送邮件

原创 2011年01月18日 13:46:00

 

C# Winforms 发送邮件

 

 

1. 先添加两个命名空间:

using System.Net;

using System.Net.Mail;

发送邮件的发信人邮箱必须使用smtp协议的邮箱,例如163、126、sina 等邮箱( 163 、126新注册的邮箱不可用,而sina邮箱里可以自己设置是否启用smt p 协议)

 

2. 完整代码

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.Net.Mail;

 

namespace Mail

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            //发送

            SmtpClient client = new SmtpClient("smtp.sina.com");    //设置 smtp 邮件协议

            client.UseDefaultCredentials = false;  

            client.DeliveryMethod = SmtpDeliveryMethod.Network;        //通过网络发送到Smtp服务器

            client.Credentials = new NetworkCredential("ada_desktop@sina.com", " ***** "); //通过用户名和密码认证

            MailMessage mmsg = new MailMessage(new MailAddress("ada_desktop@sina.com"), new MailAddress(" ******* @189.cn")); //发件人和收件人的邮箱地址  

           

            mmsg.Subject = " 邮件主题 ";       //邮件主题

            mmsg.SubjectEncoding = Encoding.UTF8;    //主题编码

            mmsg.Body = " 邮件正文 ";          //邮件正文

            mmsg.BodyEncoding = Encoding.UTF8;       //正文编码

            mmsg.IsBodyHtml = true;     //设置为HTML格式          

            mmsg.Priority = MailPriority.High;    //优先级

            try

            {

                client.Send(mmsg);

                MessageBox.Show("邮件已发成功");

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }

    }

}

 

3. 注意:

新浪邮箱

client.Credentials的用户名要用全称 ada_desktop@sina.com

163邮箱

client.Credentials的用户名不需要全称即可

client.Credentials = new NetworkCredential("adadesktopassistan", "密码");

C#的winforms程序中的弹出窗口编写方式 一个窗口类

class Dialog     {         //一个询问窗口         public DialogResult questTion(string info,string type...
  • a5251199
  • a5251199
  • 2015年11月12日 10:22
  • 1491

WinForms中TreeView控件的扩展与使用

EXE文件方便大家测试   源码下载 TreeView控件非常的好用,在我的公文系统中,使用TreeView控件选择接收公文的人员,支持单选,可多选 现提取出来,方便大家使用   涉及...
  • networkcomms
  • networkcomms
  • 2015年03月03日 12:12
  • 693

WPF教程(二) WPF vs WinForms

在前面的章节,我们讨论了WPF是什么,还涉及了一点点WinForms。在本章节,我将尝试比较两者,尽管它们服务的目的一样,却存在很多的区别。如果你以前从来没有接触过WinForms,或者WPF是你学习...
  • seanbei
  • seanbei
  • 2016年09月21日 21:56
  • 1746

C#2.0 : partial 关键字及 winform 体验

开始用 2.0 设计一个 winform 程序。当切换到代码里时,发现异乎寻常的干净。以前设计器生成的一堆代码不见了。在 Form1 的构造函数里,只有简单的一句:InitializeCompon...
  • inelm
  • inelm
  • 2005年06月28日 01:22
  • 376

C# SMTP 邮件发送之QQ邮箱篇

邮件发送大家都已经非常熟悉了,微软自带的System.Net.Mail也很好用,那为什么还要说呢? QQ邮箱的SMTP以前是非SSL,用未加密的25端口,后来发送都改成SSL了,端口为465...
  • mojocube
  • mojocube
  • 2016年05月27日 16:15
  • 6604

C#邮件发送 批量发送邮件 发送邮件嵌入图片 添加附件

C#邮件发送 批量发送邮件 发送邮件嵌入图片 添加附件
  • vaecnfeilong
  • vaecnfeilong
  • 2013年12月09日 13:27
  • 2600

定时器 System.Timers.Timer的使用

1.定时执行某个任务 2.不管执行的任务持续多少时间,Timer达到设定的Interval时,便开始执行。如果执行的任务超过设定的Interval时,会有多个任务在同时执行。就像一个跑道中同时有多个...
  • wcfboy1
  • wcfboy1
  • 2016年09月22日 16:31
  • 534

C#闪屏窗体的制作

Q: 显示一个WinForms闪屏(Splash Screen)我的应用程序需要一定的时间来启动。我想在应用程序继续加载时显示一个闪屏(就像Visual Studio .net和Office应用程序那...
  • kenkao
  • kenkao
  • 2009年02月25日 19:07
  • 5857

C#学习之九---WinForms串口---扩展

这部分是扩展代码的分析,分两部分的原因主要是看着乱,所以把他们分两部分,这部分里主要有定时器的应用,定时发送文本和十六进制指令,还有十进制和十六进制的转换部分,这算是一个软件的扩展,便于计算,然后就是...
  • yikai2009
  • yikai2009
  • 2012年11月16日 21:18
  • 757

使用.net(C#)发送邮件(带成功案例)

1.了解发送邮件的三种方式  第一:client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;  //通過遠程SMTP服...
  • linshichen
  • linshichen
  • 2016年06月11日 17:22
  • 4397
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# Winforms 发送邮件
举报原因:
原因补充:

(最多只允许输入30个字)