📄 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.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 + -