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

📄 mailserver.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.Messaging;
using System.Net;
using System.Text;

public partial class MailServer : System.Web.UI.Page
{
    static MailInfo info;
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    /// <summary>
    /// 连接消息队列并从队列中接收消息
    /// </summary>
    private MailInfo ReceiveMessage()
    {
        MailInfo info = null;
        //连接到本地队列
        MessageQueue myQueue = new MessageQueue(".\\private$\\myMailQueue");
        myQueue.Formatter = new XmlMessageFormatter(new Type[] { typeof(MailInfo) });
        try
        {
            if (myQueue.Transactional)
            {
                MessageQueueTransaction myTransaction = new MessageQueueTransaction();
                //启动事务
                myTransaction.Begin();
                //从队列中接收消息
                Message myMessage = myQueue.Receive(myTransaction);
                info = myMessage.Body as MailInfo; //获取消息的内容
                myTransaction.Commit();
                return info;
            }

        }
        catch (MessageQueueException e)
        {
            this.tdError.InnerText = e.Message;
        }
        return info;
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        info = ReceiveMessage();
        if (info != null)
        {
            tbTitle.Text = info.Title;
            tbSmtpServer.Text = info.StmpServer;
            tbSender.Text = info.Sender;
            tbSenderPwd.Text = info.SenderPwd;
            tbReceive.Text = info.ReceiveAddress;
            tbContent.Text = info.Content;
        }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        if (info != null)
        {
            SmtpClient client = new SmtpClient();
            client.Host = info.StmpServer;
            client.UseDefaultCredentials = false;
            client.Credentials = new NetworkCredential(info.Sender, info.SenderPwd);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;

            MailMessage message = new MailMessage(info.Sender, info.ReceiveAddress);
            message.Subject = info.Title;
            message.Body = info.Content;
            message.BodyEncoding = Encoding.UTF8;
            message.IsBodyHtml = true;

            try
            {
                //发送邮件到目标地址
                client.Send(message);
                this.tdSucces.InnerText = "邮件已成功发送到目标地址:" + info.ReceiveAddress;
            }
            catch (Exception ex)
            {
                this.tdError.InnerText = "发送失败,失败原因:" + ex.Message;
            }
        }
    }
}

⌨️ 快捷键说明

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