asp.net发送邮件示例分享

  mailhelper  -------mail帮助类

  

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Web.Mail;

  /// <summary>

  ///mailhelper 的摘要说明

  /// </summary>

  public class mailhelper

  {

  public mailhelper()

  {

  //

  //TODO: 在此处添加构造函数逻辑

  //

  }

  /// <summary>

  /// 邮件发送操作

  /// </summary>

  /// <param name="Addressee">收件人地址</param>

  /// <param name="From">发件人地址</param>

  /// <param name="sendpassword">发件人密码</param>

  /// <param name="Copy">抄送人地址</param>

  /// <param name="secret">密送人地址</param>

  /// <param name="Subject">发送主题</param>

  /// <param name="Attachment">附件信息</param>

  /// <param name="Body">邮件内容</param>

  public string SendeEmal(string Addressee, string From, string sendpassword, string Copy, string secret, string Subject, string Attachment, string Body)

  {

  MailMessage objMailMessage;

  MailAttachment objMailAttachment;

  // 创建邮件消息

  objMailMessage = new MailMessage();

  //发件人EMAIL

  objMailMessage.From = From;//源邮件地址

  //收件人EMAIL

  objMailMessage.To = Addressee; //目的邮件地址

  //邮件抄送

  objMailMessage.Cc = Copy;

  //邮件misong

  objMailMessage.Bcc = secret;

  //邮件主题

  objMailMessage.Subject = Subject; //发送邮件的标题

  //邮件内容

  objMailMessage.Body = Body;//发送邮件的内容

  // 创建一个附件对象

  if (Attachment != "")

  {

  objMailAttachment = new MailAttachment(Attachment);//发送邮件的附件 c:\\test.txt

  objMailMessage.Attachments.Add(objMailAttachment);//将附件附加到邮件消息对象中

  }

  //接着利用SMTP来发送邮件,需要使用Microsoft .NET Framework SDK v1.1和它以上的版本

  //基本权限

  objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");

  //用户名

  string name = From.Substring(0, From.IndexOf('@'));

  objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", name);

  //密码

  objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", sendpassword);

  //如果没有上述三行代码,则出现如下错误提示:服务器拒绝了一个或多个收件人地址。服务器响应为: 554 : Client host rejected: Access denied

  //SMTP地址

  string smtp = "smtp." + From.Substring(From.IndexOf('@') + 1);

  SmtpMail.SmtpServer = "smtp." + From.Substring(From.IndexOf('@') + 1);

  //开始发送邮件

  try

  {

  SmtpMail.Send(objMailMessage);

  return "邮件发送成功!";

  }

  catch (System.Net.Mail.SmtpException ex)

  {

  return ex.Message;

  }

  //核心代码结束

  }

  }

  然后下来是自己做的一个demo--

  前台

  

复制代码 代码如下:

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="mail.aspx.cs" Inherits="information_mail"

  ValidateRequest="false" %>

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head runat="server">

  <title></title>

  <script src="../Style/jquery/jquery.js" type="text/javascript"></script>

  <script src="../Style/jquery/jquery.validate.js" type="text/javascript"></script>

  <script language="javascript" type="text/javascript">

  function gei() {

  var file_value = document.getElementById("File1").value;

  document.getElementById("HiddenField1").value = file_value;

  }

  </script>

  </head>

  <body>

  <form id="form1" runat="server">

  <div>

  发给:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />

  抄送:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />

  密送:<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />

  主题:<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />

  内容:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />

  附件:<input id="File1" type="file" />

  <%--<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>--%>

  <br />

  <asp:Button ID="Button1" runat="server" Text="发送" OnClientClick="gei()" OnClick="Button1_Click" /><br />

  <asp:Label ID="Label1" runat="server" Text=""></asp:Label>

  </div>

  <asp:HiddenField ID="HiddenField1" runat="server" />

  </form>

  </body>

  </html>

  后台:

  

复制代码 代码如下:

  protected void Button1_Click(object sender, EventArgs e)

  {        //实例邮件帮助类

  mailhelper mails = new mailhelper();

  string filePath = HiddenField1.Value;

  string a = mails.SendeEmal(TextBox1.Text, "邮件账号", "邮件密码", TextBox2.Text, TextBox4.Text, TextBox5.Text, filePath, TextBox3.Text);

  Label1.Text = a;

  }