winfrom 发邮件源码
时间: 2023-05-15 07:01:17 浏览: 100
Winfrom 发邮件源码的实现步骤如下:
1. 添加引用SmtpSender.dll和Newtonsoft.Json.dll;
2. 在窗体中添加邮件标题、收件人、发件人、附件等控件,并添加相应的代码实现邮件发送功能;
3. 在代码中创建邮件对象MailMessage,设置发件人、收件人、主题、正文、附件等内容;
4. 创建SmtpClient对象,设置STMP服务器、用户名和密码等参数;
5. 调用SmtpClient的Send方法发送邮件,根据返回结果判断邮件是否发送成功。
以下是一个简单的Winform发送邮件源码示例:
```c#
using System;
using System.Net;
using System.Net.Mail;
using Newtonsoft.Json;
using SmtpSender;
namespace WinformMailSender
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSend_Click(object sender, EventArgs e)
{
try
{
// 创建邮件对象
MailMessage message = new MailMessage();
message.From = new MailAddress(txtFrom.Text.Trim());
message.To.Add(txtTo.Text.Trim());
message.Subject = txtSubject.Text.Trim();
message.Body = txtBody.Text.Trim();
if (!string.IsNullOrEmpty(txtAttachment.Text.Trim()))
{
Attachment attachment = new Attachment(txtAttachment.Text.Trim());
message.Attachments.Add(attachment);
}
// 发送邮件
SmtpClient client = new SmtpClient();
client.Host = txtServer.Text.Trim();
client.Port = int.Parse(txtPort.Text.Trim());
client.EnableSsl = true;
client.Credentials = new NetworkCredential(txtUsername.Text.Trim(), txtPassword.Text.Trim());
client.Send(message);
// 发送成功
MessageBox.Show("邮件发送成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
// 发送失败
MessageBox.Show("邮件发送失败:" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btnAttachment_Click(object sender, EventArgs e)
{
// 选择附件
OpenFileDialog openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
txtAttachment.Text = openFileDialog.FileName;
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
// 取消发送
this.Close();
}
}
}
```
以上代码使用了SmtpSender工具库简化了邮件发送过程。使用时需要先在NuGet中搜索并安装SmtpSender和Newtonsoft.Json两个库,然后在代码中添加`using SmtpSender;`和`using Newtonsoft.Json;`即可。值得注意的是,代码中涉及的控件和变量名均需要根据实际情况更改。