winform里面实现邮件发送功能
时间: 2023-07-30 21:12:43 浏览: 54
要在WinForm中实现邮件发送功能,可以使用 .NET Framework提供的 System.Net.Mail 命名空间。下面是一个简单的示例代码:
```c#
using System;
using System.Net;
using System.Net.Mail;
using System.Windows.Forms;
namespace EmailSender
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void btnSend_Click(object sender, EventArgs e)
{
try
{
// 创建一个MailMessage对象
MailMessage message = new MailMessage();
// 设置发件人邮箱地址
message.From = new MailAddress(txtFrom.Text.Trim());
// 设置收件人邮箱地址
message.To.Add(new MailAddress(txtTo.Text.Trim()));
// 设置邮件主题
message.Subject = txtSubject.Text.Trim();
// 设置邮件内容
message.Body = txtBody.Text.Trim();
// 创建一个SmtpClient对象
SmtpClient client = new SmtpClient();
// 设置SMTP服务器地址
client.Host = txtSmtpServer.Text.Trim();
// 设置SMTP服务器端口号,默认为25
if (!string.IsNullOrEmpty(txtSmtpPort.Text.Trim()))
{
client.Port = Convert.ToInt32(txtSmtpPort.Text.Trim());
}
// 设置SMTP服务器用户名和密码
if (!string.IsNullOrEmpty(txtSmtpUser.Text.Trim()) && !string.IsNullOrEmpty(txtSmtpPassword.Text.Trim()))
{
client.Credentials = new NetworkCredential(txtSmtpUser.Text.Trim(), txtSmtpPassword.Text.Trim());
}
// 发送邮件
client.Send(message);
MessageBox.Show("邮件发送成功!");
}
catch (Exception ex)
{
MessageBox.Show("邮件发送失败!\r\n" + ex.Message);
}
}
}
}
```
注意,为了让程序能够发送邮件,需要确保计算机已连接到网络,并且SMTP服务器的地址、端口号、用户名和密码等信息正确无误。