• C#邮件发送 SendMail


     SendMail.aspx 

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SendMail.aspx.cs" Inherits="Admin_SendMail" %>

    <!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 id="Head1" runat="server">
        <title>SendMail</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <table border="0" align="center" cellpadding="0" cellspacing="5" >
                 
                  <tr>
                    <td width="100">收件人:</td>
                    <td width="600"><asp:TextBox id="Addressee" runat="server" Width="600"></asp:TextBox>
                    <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Addressee can't be empty!" ControlToValidate="Subject" Font-Bold="True"
           Display="Dynamic" ForeColor="Black"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator id="re" runat="server" ErrorMessage="The format inaccuracy of Email!" ControlToValidate="Addressee" Font-Bold="True"
           ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ForeColor="Black"></asp:RegularExpressionValidator>                </td>
                  </tr>
                  <tr>
                    <td>抄送人:</td>
                    <td><asp:TextBox id="Copy" runat="server" Width="600"></asp:TextBox></td>
                  </tr>
                  <tr>
                    <td>密送人:</td>
                    <td><asp:TextBox id="secret" runat="server" Width="600"></asp:TextBox></td>
                  </tr>
                  <tr>
                    <td>主题:</td>
                    <td><asp:TextBox id="Subject" runat="server" Width="600"></asp:TextBox>
                    <asp:RequiredFieldValidator id="ru" runat="server" ErrorMessage="Subject can't be empty!" ControlToValidate="Subject" Font-Bold="True"
           Display="Dynamic" ForeColor="Black"></asp:RequiredFieldValidator></td>
                  </tr>
                  <tr>
                    <td>附件:</td>
                    <td><asp:TextBox id="Attachment" runat="server" Width="600"></asp:TextBox></td>
                  </tr>
                  <tr>
                    <td>正文:</td>
                    <td><asp:TextBox ID="Body" runat="server" TextMode="MultiLine" Rows="18" Width="600"></asp:TextBox></td>
                  </tr>
                  <tr>
                    <td colspan="2" align="center">
                    <asp:Button ID="Send" runat="server" Text="Send" OnClick="SendMailUseGmail" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Refurbish" runat="server" Text="Refurbish" OnClick="Refurbish_Click"></asp:Button>    </td>
                  </tr>
          </table>
        </form>
    </body>
    </html>


     

    SendMail.aspx.cs 

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Web.Mail;  //核心代码开始
    using System.Windows.Forms;

    //以下暂无调试

    public partial class Admin_SendMail : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        public bool AddRecipient(string str)     //抄送的人
        {
            str = str.Trim();
            if (str == null || str == "" || str.IndexOf("@") == -1)
                return true;
            if (RecipientNum < 10)
            {
                Recipient.Add(RecipientNum, str);
                RecipientNum++;
                return true;
            }
            else
            {
                errmsg += "收件人过多";
                return false;
            }
        }


        public bool AddRecipientBCC(string str)   //密送的人
        {
            if (str == null || str.Trim() == "")
                return true;
            if (RecipientBCCNum < 10)
            {
                RecipientBCC.Add(RecipientBCCNum, str);
                RecipientBCCNum++;
                return true;
            }
            else
            {
                errmsg += "收件人过多";
                return false;
            }
        }

        public void SendMailUseGmail(object sender, EventArgs e)
        {
            MailMessage objMailMessage;
            MailAttachment objMailAttachment;


            // 创建邮件消息
            objMailMessage = new MailMessage();

            //发件人EMAIL
            objMailMessage.From = "ujtrading@ujtrading.com";//源邮件地址

            //收件人EMAIL
            String Addressee = this.Addressee.Text;
            objMailMessage.To = Addressee;  //目的邮件地址
            //objMailMessage.To = "shirley@ujtrading.com";

            //邮件主题
            String Subject = this.Subject.Text;
            objMailMessage.Subject = Subject; //发送邮件的标题
            //objMailMessage.Subject = "test";

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

            // 创建一个附件对象
            String Attachment = this.Attachment.Text;
            if (this.Attachment.Text.ToString() != "")
            {
              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");
            //用户名
            objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "ujtrading");
            //密码
            objMailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "789456");
            //如果没有上述三行代码,则出现如下错误提示:服务器拒绝了一个或多个收件人地址。服务器响应为: 554 : Client host rejected: Access denied
            //SMTP地址       
            SmtpMail.SmtpServer = "smtp.ujtrading.com";
            //开始发送邮件

            try
            {
                SmtpMail.Send(objMailMessage);
                //简单一点儿可以client.Send(msg);
                MessageBox.Show("Send mail success!","Messige");
                this.Addressee.Text = "";
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                MessageBox.Show(ex.Message, "Send mail fail!");
            }
            //核心代码结束
        }
        protected void Refurbish_Click(object sender, EventArgs e)
        {
            this.Addressee.Text = "";
            this.Subject.Text = "";
            this.Body.Text = "";
            this.Attachment.Text = "";
        }
    }

  • 相关阅读:
    推荐一篇好文加上一些补充
    我也来写一个俄罗斯方块
    使用canvas绘制一个时钟
    断句:Store all parameters but the first passed to this function as an array
    Observer Pattern
    web worker 的 self
    练练断句
    as 什么意思?
    natively 在本地机器
    in mind (不是 切记 的意思)
  • 原文地址:https://www.cnblogs.com/limshirley/p/1498520.html
Copyright © 2020-2023  润新知