⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendmail.aspx.cs

📁 MSMQ之使用範例程式
💻 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.Net.Mail;
using System.Net;
using System.Text;
using System.Messaging;
public partial class SendMail : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void btnSendMail_Click(object sender, EventArgs e)
    {
        //取出数据存入MailInfo对象
        MailInfo info = new MailInfo();
        info.Title = tbTitle.Text;
        info.Content = tbContent.Text;
        info.StmpServer = tbSmtpServer.Text;
        info.Sender = tbSender.Text;
        info.SenderPwd = tbSenderPwd.Text;
        info.ReceiveAddress = tbReceive.Text;

        if (info != null)
        {
            CreateQueue();
            SendMessage(info);
        }
    }

    /// <summary>
    /// 通过Create方法创建使用指定路径的新消息队列
    /// </summary>
    private void CreateQueue()
    {
        try
        {
            if (!MessageQueue.Exists(".\\myMailQueue"))
            {
                MessageQueue.Create(@".\private$\myMailQueue", true);
            }
        }
        catch (MessageQueueException e)
        {
            this.tdError.InnerText = e.Message;
        }
    }

    /// <summary>
    /// 连接消息队列并发送消息到队列
    /// </summary>
    private void SendMessage(MailInfo info)
    {
        try
        {
            //连接到本地的队列
            MessageQueue myQueue = new MessageQueue(".\\private$\\myMailQueue");

            Message myMessage = new Message();
            myMessage.Body = info;
            myMessage.Formatter = new XmlMessageFormatter(new Type[] { typeof(MailInfo) });

            MessageQueueTransaction myTransaction = new MessageQueueTransaction();
            //启动事务
            myTransaction.Begin();
            //发送消息到队列中
            myQueue.Send(myMessage, myTransaction);
            //提交事务
            myTransaction.Commit();
            this.tdSucces.InnerText = "消息发送成功!";
        }
        catch (ArgumentException e)
        {
            this.tdError.InnerText = "发送失败,失败原因:" + e.Message;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -