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