UDP邮件发送UDP邮件发送
实验题目: 基于SMTP的邮件发送程序 (UDP)
一 实验目的
了解并掌握基于SMTP服务的邮件发送程序,加深对原始套接字的理解 二 实验内容
1.设计邮件发送窗口
2.基于SMTP服务的邮件发送程序,服务器类型及服务器端口在程序中已经绑定 3.收件人和发件人的格式要求必须为合法的邮箱地址格式
4.添加的附件数
三 实验步骤
1. 打开VS2008,在菜单栏中点击文件,新建窗体项目,打开创建好的项目,创建窗体所需
要的控件,如图所示:
2. 在Form1.cs中编写代码,关键代码如下:
...
UDP邮件发送
实验
目: 基于SMTP的邮件发送程序 (UDP)
一 实验目的
了解并掌握基于SMTP服务的邮件发送程序,加深对原始套接字的理解 二 实验内容
1.设计邮件发送窗口
2.基于SMTP服务的邮件发送程序,服务器类型及服务器端口在程序中已经绑定 3.收件人和发件人的
要求必须为合法的邮箱地址格式
4.添加的附件数
三 实验步骤
1. 打开VS2008,在菜单栏中点击文件,新建窗体项目,打开创建好的项目,创建窗体所需
要的控件,如图所示:
2. 在Form1.cs中编写代码,关键代码如下:
public partial class Form1 : Form
{
string strto;
string strfrom;
string subject;
string content;
1
string password;
int k = 0;
MailMessage message;
public Form1()
{
InitializeComponent();
}
public void CreateMessage()
{
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential(strfrom, password);
int i;
for (i = 0; i < strfrom.Length; i++)
{
if (strfrom[i] =='@')
break;
}
string s = strfrom.Remove(0, i + 1);
MailAddress from = new MailAddress(strfrom);
MailAddress to = new MailAddress(strto);
message = new MailMessage(from, to);
client.Host = "SMTP." + s;
client.Port = 25;
message.Body = content;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Subject = subject;
message.SubjectEncoding = System.Text.Encoding.UTF8;
if (listBox1.Items.Count > 0)
{
2
for (int j = 0; j < listBox1.Items.Count; j++)
{
Attachment attachFile = new Attachment(listBox1.Items[j].ToString());
message.Attachments.Add(attachFile);
}
}
try
{
client.Send(message);
MessageBox.Show("发送成功~");
}
catch (System.Net.Mail.SmtpException ex)
{
MessageBox.Show(ex.Message, "发送邮件出错");
}
message.Dispose();
}
private void button1_Click(object sender, EventArgs e)
{
CreateMessage();
}
private void textBox1_Leave(object sender, EventArgs e)
{
strto = textBox1.Text;
if (!Regex.IsMatch(strto, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"))
MessageBox.Show("邮件地址格式错误~请重新输入~");
}
private void textBox2_Leave(object sender, EventArgs e)
{
3
strfrom = textBox2.Text;
if (!Regex.IsMatch(strfrom, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"))
MessageBox.Show("邮件地址格式错误~请重新输入~");
}
private void textBox3_Leave(object sender, EventArgs e)
{
password = textBox3.Text;
}
private void textBox4_Leave(object sender, EventArgs e)
{
subject = textBox4.Text;
}
private void richTextBox1_Leave(object sender, EventArgs e)
{
content = richTextBox1.Text;
if(content.Length>=1000)
MessageBox.Show("内容太长~请重新输入~");
}
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog myfile = new OpenFileDialog();
myfile.CheckFileExists = true;
myfile.ValidateNames = true;
myfile.Multiselect = false;
myfile.ShowDialog();
FileInfo fi = new FileInfo(myfile.FileName);
if (myfile.FileName.Length > 0)
{
k++;
if (k >10)
4
{
MessageBox.Show("附件数量最大为10个~请重新选择~");
}
else if (fi.Length > 5000000)
{
MessageBox.Show("附件太长~请重新选择~");
}
else
{
listBox1.Items.Add(myfile.FileName);
}
}
}
四 实验总结
本次实验主要做的是一个基于UDP连接的邮件发送程序,通过本次实验使得我对邮件发送有了一定的了解,在实验过程中,有时会少考虑一些细小的问题,让整个程序都无法运行。通过这次的教训让我更加懂得细节决定成败这句话的道理,也更加懂得了学习一门知识的不易,在以后的学习中,也一定会更加细心,更加用心,不让同样的失误出现。感谢老师和同学们的指正,让我能及时发现错误。
5
本文档为【UDP邮件发送】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。