C#使用Windows窗体实现发邮件功能

Posted 张牧之!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#使用Windows窗体实现发邮件功能相关的知识,希望对你有一定的参考价值。

使用Windows窗体实现发邮件功能

作者使用自己的QQ邮箱向网易邮箱发送邮件进行测试

步骤如下:
1.绘画一个窗体

2.编写代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace StudentManage.adminFrm

    public partial class adminMail : Form
    
        public adminMail()
        
            InitializeComponent();
        

        private void button1_Click(object sender, EventArgs e)
        
            MailSender(txtToMial.Text, txtFromMail.Text, txtUserId.Text, txtUserPwd.Text, txtServerAddress.Text, txtSubject.Text, txtBody.Text);
        

        /// <summary>
        /// 邮件发送方法
        /// </summary>
        /// <param name="toMial">收件人邮箱</param>
        /// <param name="fromMial">发件人邮箱</param>
        /// <param name="userID">发件人邮箱帐号 如QQ邮箱 为QQ号码 </param>
        /// <param name="userPwd">发件人邮箱受权码</param>
        /// <param name="serverAddress">邮件服务地址 如QQ邮箱服务地址为smtp.qq.com</param>
        /// <param name="subject">邮件主题</param>
        /// <param name="body">邮件内容</param>
        /// <returns></returns>
        public bool MailSender(string toMial, string fromMial, string userID, string userPwd, string serverAddress, string subject, string body)
        
            try
            
                //创建一个邮件对像
                MailMessage mailObject = new MailMessage();
                //设置发件人
                mailObject.From = new MailAddress(fromMial);
                //设置收件人
                mailObject.To.Add(new MailAddress(toMial));

                //设置邮件主题
                mailObject.SubjectEncoding = Encoding.UTF8;
                mailObject.Subject = subject;

                //设置邮件内容
                mailObject.BodyEncoding = Encoding.UTF8;//编码
                mailObject.Body = body;

                //创建一个发送邮件的对像 
                SmtpClient smtpClient = new SmtpClient();
                //服务地址  如QQ邮箱  smtp.qq.com
                smtpClient.Host = serverAddress;
                //帐号和受权码
                smtpClient.Credentials = new NetworkCredential(userID, userPwd);
                smtpClient.Send(mailObject);
                MessageBox.Show("发送成功!");
                return true;
            
            catch (Exception ex)
            
                MessageBox.Show(ex.Message);
                throw (ex);
            
        
    


3.获取自己的邮箱的授权码
先找到自己需要使用邮箱的账户设置,如,作者使用的是QQ邮箱。
开启 IMAP/SMTP 服务

获取到授权码

4.开始发邮件

5.查看收件人邮箱

发邮件功能测试成功!

以上是关于C#使用Windows窗体实现发邮件功能的主要内容,如果未能解决你的问题,请参考以下文章

C#使用Windows窗体实现链接跳转功能

C#使用Windows窗体实现链接跳转功能

C#,当我在 Windows 窗体应用程序中发送电子邮件时,图像显示为空白 [重复]

C#窗体全屏功能

C# BackGroundWorker实现窗体不卡死 进度条功能

求助: 用C#编写的winform窗体程序