代码如下:
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.Mail;
using System.Net;
namespace Email
{
public partial class SendEmail : Form
{
public SendEmail()
{
InitializeComponent();
}
/// <summary>
/// 发送邮件按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSend_Click(object sender, EventArgs e)
{
//SendMail(发件人,收件人,邮件主题,邮件内容,主机,发件人账号,发件人密码,附件)
SendMail(txtFrom.Text, txtTo.Text, txtSubject.Text, txtBody.Text, txtHost.Text, txtName.Text, txtFromPwd.Text,txtAttachment1.Text);
}
/// <summary>
/// 发送邮件的方法
/// </summary>
/// <param name="from">发件人</param>
/// <param name="to">收件人</param>
/// <param name="subject">邮件主题</param>
/// <param name="body">邮件内容</param>
/// <param name="host">主机</param>
/// <param name="uname">发件人账号</param>
/// <param name="pwd">发件人密码</param>
/// <param name="fileName">附件</param>
public void SendMail(string from, string to, string subject, string body, string host, string uname, string pwd, string fileName)
{
//生成一个使用SMTP发送邮件的客户端对象
SmtpClient client = new SmtpClient(host,25);
//邮件的发送人
MailAddress From = new MailAddress(from);
//邮件的收件人
MailAddress To = new MailAddress(to);
MailMessage message = new MailMessage(From,To);
//邮件的主题
message.Subject = subject;
//邮件的内容
message.Body = body;
//定义邮件的正文,主题的编码方式
message.BodyEncoding = System.Text.Encoding.GetEncoding("UTF-8");
message.SubjectEncoding = System.Text.Encoding.GetEncoding("UTF-8");
//表示不以当前登录用户的默认凭据进行身份验证
client.UseDefaultCredentials = true;
//包含用户名和密码
if (uname != string.Empty)
{
client.Credentials = new System.Net.NetworkCredential(uname,pwd);
}
//获取或设定一个值,该值指示邮件正文是否为HTML
message.IsBodyHtml = false;
//指定邮件的优先级别
message.Priority = MailPriority.High;
//添加附件
if (fileName != string.Empty)
{
Attachment attachment = new Attachment(fileName);
message.Attachments.Add(attachment);
}
client.Send(message);
MessageBox.Show("发送成功!");
}
/// <summary>
/// 添加的附件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSelect1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
open.Filter = "所有文件(*.*)|*.*";
if (open.ShowDialog(this) == DialogResult.OK)
{
txtAttachment1.Text = open.FileName;
}
}
}
}