C# Winform 入门(2)之发送邮件

主要使用控件: label button textBox

1.添加引用

cs 复制代码
using System.Net.Mail;

2.实例化邮件(封装)

  • From:邮件的发送地址
  • To.Add:邮件的接收地址
  • Subject:邮件的主题
  • Body:消息的主文(内容)
cs 复制代码
 void Send_mail()
 {
     //实例化一个邮件
     MailMessage mailMessage = new MailMessage();
     mailMessage.From = new MailAddress(Address_sender.Text);
     mailMessage.To.Add(Address_received.Text);
     mailMessage.Subject = txt_subject.Text;
     mailMessage.Body = txt_content.Text;

     //实例化邮件的传输协议
     SmtpClient smtpClient = new SmtpClient();
     // 传输协议里面的账号密码
     smtpClient.Credentials = new System.Net.NetworkCredential(Address_sender.Text, txt_pwd.Text);
     smtpClient.Host = "smtp.163.com";
     smtpClient.Send(mailMessage);
 }

3.清除按钮的实现

cs 复制代码
 private void Cleartxt_Click(object sender, EventArgs e)
 {
     if(MessageBox.Show("Do you want to erase all the information ?","Information hint",MessageBoxButtons.YesNo)==DialogResult.Yes)
     {
         Address_sender.Clear();
         Address_received.Clear();
         txt_subject.Clear();
         txt_content.Clear();
         txt_pwd.Clear();
     }
 }

4.发送邮件按钮功能

cs 复制代码
   private void Send_email_Click(object sender, EventArgs e)
   {
       try
       {
           Send_mail();
           MessageBox.Show("发送成功");
       }catch(Exception ex)
       {
           throw ex;
       }
   }

5.回车按钮实现

cs 复制代码
 private void Address_sender_KeyDown(object sender, KeyEventArgs e)
 {
     if(this.Address_sender.Text.Trim().Length!=0 && e.KeyValue==13)
     {
         this.Address_received.Focus();
         this.Address_received.SelectAll();
     }
 }

 private void Address_received_KeyDown(object sender, KeyEventArgs e)
 {
     if(this.Address_received.Text.Trim().Length!=0 && e.KeyValue==13)
     {
         this.txt_subject.Focus();
         this.txt_subject.SelectAll();
     }
 }

 private void txt_subject_KeyDown(object sender, KeyEventArgs e)
 {
     if(this.txt_subject.Text.Trim().Length!= 0 && e.KeyValue==13)
     {
         this.txt_content.Focus();
         this.txt_content.SelectAll();
     }
 }

 private void txt_content_KeyDown(object sender, KeyEventArgs e)
 {
     if(this.txt_content.Text.Trim().Length!=0 && e.KeyValue ==13)
     {
         this.txt_pwd.Focus();
         this.txt_pwd.SelectAll();
     }
 }

 private void txt_pwd_KeyDown(object sender, KeyEventArgs e)
 {
     if(this.txt_pwd.Text.Trim().Length!=0 && e.KeyValue ==13)
     {
         this.Send_email_Click(null, null);
     }
 }

cs 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Mail;
using Sunisoft.IrisSkin;


namespace _02.Send_mail
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            SkinEngine sk=new SkinEngine();
            sk.SkinFile = "C:\\Users\\86195\\Desktop\\C#-lesson\\02.Send-mail\\bin\\Debug\\Skins\\DiamondBlue.ssk";
        }

        private void Send_email_Click(object sender, EventArgs e)
        {
            try
            {
                Send_mail();
                MessageBox.Show("发送成功");
            }catch(Exception ex)
            {
                throw ex;
            }
        }
        void Send_mail()
        {
            //实例化一个邮件
            MailMessage mailMessage = new MailMessage();
            mailMessage.From = new MailAddress(Address_sender.Text);
            mailMessage.To.Add(Address_received.Text);
            mailMessage.Subject = txt_subject.Text;
            mailMessage.Body = txt_content.Text;

            //实例化邮件的传输协议
            SmtpClient smtpClient = new SmtpClient();
            // 传输协议里面的账号密码
            smtpClient.Credentials = new System.Net.NetworkCredential(Address_sender.Text, txt_pwd.Text);
            smtpClient.Host = "smtp.163.com";
            smtpClient.Send(mailMessage);
        }

        private void Cleartxt_Click(object sender, EventArgs e)
        {
            if(MessageBox.Show("Do you want to erase all the information ?","Information hint",MessageBoxButtons.YesNo)==DialogResult.Yes)
            {
                Address_sender.Clear();
                Address_received.Clear();
                txt_subject.Clear();
                txt_content.Clear();
                txt_pwd.Clear();
            }
        }

        private void Address_sender_KeyDown(object sender, KeyEventArgs e)
        {
            if(this.Address_sender.Text.Trim().Length!=0 && e.KeyValue==13)
            {
                this.Address_received.Focus();
                this.Address_received.SelectAll();
            }
        }

        private void Address_received_KeyDown(object sender, KeyEventArgs e)
        {
            if(this.Address_received.Text.Trim().Length!=0 && e.KeyValue==13)
            {
                this.txt_subject.Focus();
                this.txt_subject.SelectAll();
            }
        }

        private void txt_subject_KeyDown(object sender, KeyEventArgs e)
        {
            if(this.txt_subject.Text.Trim().Length!= 0 && e.KeyValue==13)
            {
                this.txt_content.Focus();
                this.txt_content.SelectAll();
            }
        }

        private void txt_content_KeyDown(object sender, KeyEventArgs e)
        {
            if(this.txt_content.Text.Trim().Length!=0 && e.KeyValue ==13)
            {
                this.txt_pwd.Focus();
                this.txt_pwd.SelectAll();
            }
        }

        private void txt_pwd_KeyDown(object sender, KeyEventArgs e)
        {
            if(this.txt_pwd.Text.Trim().Length!=0 && e.KeyValue ==13)
            {
                this.Send_email_Click(null, null);
            }
        }
    }
}

附:

网易邮箱 => 打开微软浏览器 => 网易邮箱网页版 =>

下滑

相关推荐
XIAOYU6720135 分钟前
金融数学专业需要学哪些数学和编程内容?
开发语言·matlab·金融
油炸自行车8 分钟前
【Qt】编写Qt自定义Ui控件步骤
开发语言·c++·qt·ui·自定义ui控件·qt4 自定义ui控件
csdn_aspnet14 分钟前
MongoDB C# .NetCore 驱动程序 序列化忽略属性
mongodb·c#·.netcore
浪扼飞舟30 分钟前
c#基础二(类和对象,构造器调用顺序、访问级别、重写和多态、抽象类和接口)
java·开发语言·c#
yuanpan1 小时前
python标准库有哪些模块,简单总结下。
开发语言·python
听情歌落俗1 小时前
MATLAB3-2数据存储-台大郭彦甫
开发语言·数学建模·matlab·矩阵
云天徽上1 小时前
【数据可视化-112】使用PyEcharts绘制TreeMap(矩形树图)完全指南及电商销售数据TreeMap绘制实战
开发语言·python·信息可视化·数据分析·pyecharts
NG WING YIN2 小时前
Golang關於信件的
开发语言·深度学习·golang
Sunny_yiyi2 小时前
Java根据模版导出PDF文件
java·开发语言·pdf
橘子132 小时前
C++实战:搜索引擎项目(二)
开发语言·c++·搜索引擎