当前位置 博文首页 > 缘分锝天空的博客:计算机网络实验:如何用SMTP协议发送邮件?(

    缘分锝天空的博客:计算机网络实验:如何用SMTP协议发送邮件?(

    作者:[db:作者] 时间:2021-07-21 09:48

    实验目的:

    (1)掌握SMTP协议各个字段的含义;

    (2)掌握利用SMTP协议发送电子邮件。

    ?实验内容:

    设计一个页面,利用SMTP协议,实现发送一封邮件,具体要求如下:

    (1)可输入邮箱地址,编写邮件内容;

    (2)有邮件发送提示,利用协议发送邮件。

    设计 SMTP界面入下图:

    另外:? ? ?

    ?没有163邮箱可以先注册一个,下面要用到,然后登陆邮箱,找到POP3/SMTP/IMAP,选择开启服务IMAP/SMTP服务和POP3/SMTP服务,下拉新增授权码,然后申请一个,待会发送邮件用到,然后就是执行下面的程序进行发送邮件了

    ?实验程序:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Net.Mail;
    using System.Net.NetworkInformation;
    
    namespace SMTPEMAIL
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                MailMessage aMessage = new MailMessage();
                if (totextbox.Text == "")
                {
                    MessageBox.Show("请输入收件人的邮箱地址");
                }
                else if (fromtextBox.Text == "")
                {
                    MessageBox.Show("请输入发件人的邮件地址");
                }
                else
                {
                    aMessage = new MailMessage(fromtextBox.Text.Trim(), totextbox.Text.Trim());
                    string[] sep = fromtextBox.Text.Split(new Char[] { '@', '.' });
                    //组合SMTP服务器地址
                    string site = "smtp." + sep[1] + ".com";
                    SmtpClient client = new SmtpClient(site);
                    client.UseDefaultCredentials = false;
                    client.Credentials = new NetworkCredential(fromtextBox.Text.Trim(), userpsd.Text);
                    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    
                    //邮件主题
                    aMessage.Subject = subject.Text;
                    //邮件内容
                    aMessage.Body = bodytextbox.Text;
                    //发送邮件
                    client.Send(aMessage);
                    MessageBox.Show("邮件发送成功!!!");
               
            }
            private void button3_Click(object sender, EventArgs e)
            {
                this.Close();
            }
        }
    }
    

    ?实验结果:

    登录邮箱查看是否收到:

    ?查看内容:

    可以看到邮件发送成功了!!!

    ?

    ?

    ?

    cs