直接上代码:
1.引入命名空间
using System.Net.Mail;
using System.Net;
using System.IO;
2.发送按钮事件
MailMessage msg = new MailMessage();
string mailFrom = TextBox1.Text.Trim();
string mailTo =TextBox3.Text.Trim();
msg.From = new MailAddress(mailFrom,mailFrom); //发件人的Email地址
msg.To.Add(new MailAddress(mailTo,mailTo)); //发送的目标地址
msg.Subject = TextBox4.Text.Trim(); //邮件标题
msg.Body = TextBox5.Text.Trim(); //邮件内容
msg.IsBodyHtml = true; //邮件正文格式
msg.Priority = MailPriority.Normal; //优先级别有3个级别 Normal 一般 High 最高 Low 最低
SmtpClient c = new SmtpClient(); //邮件发送类对象
c.Host = "smtp.126.com"; //smtp协议地址,注意本人是126邮箱,不同请改之
string userName = mailFrom.Substring(0, mailFrom.IndexOf("@")); //取发件人Email用户名
c.Credentials = new NetworkCredential(userName, TextBox2.Text.Trim());//自己的用户名及密码TextBox2.Text.Trim()表示密码
// 创建一个附件对象
string ServerFileName = "";
if (this.upfile.PostedFile.ContentLength != 0) //判断附件大小
{
string upFileName = this.upfile.PostedFile.FileName; //获取路径
string name = upFileName.Substring(upFileName.LastIndexOf("\\") + 1); //取附件名
ServerFileName = Server.MapPath("upload/" + name); //获取服务器路径,根目录需要有upload文件夹
ServerFileName = Server.HtmlEncode(ServerFileName); //对路径进行编码
//上传附件到服务器
this.upfile.PostedFile.SaveAs(ServerFileName);
//为邮件添加附件
msg.Attachments.Add(new Attachment(ServerFileName));
}
//发送邮件
c.Send(msg);
msg.Dispose(); //释放资源
c.Dispose(); //释放资源
Page.ClientScript.RegisterStartupScript(GetType(), "mail",
"<script>alert('邮件发送成功!')</script>");
本文展示了如何使用ASP.NET发送带有附件的电子邮件。通过创建`MailMessage`对象,设置发件人、收件人、主题和正文,并使用`SmtpClient`类进行发送。代码中还涉及了附件的上传保存以及使用`NetworkCredential`进行身份验证。最后,发送成功后会弹出提示框。
240

被折叠的 条评论
为什么被折叠?



