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

📄 privatemessageutility.cs

📁 C#邮件代码库,用于邮件发送
💻 CS
字号:
namespace ASPNET.StarterKit.Communities.PrivateMessages 
{
	using System;
	using System.Web;
	using System.Data;
	using System.Data.SqlClient;
	using System.Collections;
	using ASPNET.StarterKit.Communities;
	using ASPNET.StarterKit.Communities.PrivateMessages;
	using System.Web.Mail;


	
	public class PrivateMessageUtility
	{
		
		public static ArrayList GetRecipientList()
		{
			HttpContext Context = HttpContext.Current;
			ArrayList pmUsers = (ArrayList)Context.Cache[CommunityGlobals.CacheKey(CommunityGlobals.CommunityName + "_PrivateMessageRecipientList")];
			if (pmUsers == null) 
			{
				pmUsers = GetRecipientListFromDB();
				Context.Cache.Insert
					(
					CommunityGlobals.CacheKey(CommunityGlobals.CommunityName + "_PrivateMessageRecipientList"),
					pmUsers,
					null,
					DateTime.Now.AddMinutes(60), 
					System.Web.Caching.Cache.NoSlidingExpiration
					);
			}
			return pmUsers;
		}
		

		public static ArrayList GetRecipientListFromDB()
		{
			SqlConnection conPortal = new SqlConnection(CommunityGlobals.ConnectionString);
			SqlCommand cmdGet = new SqlCommand( "Community_PrivateMessagesGetRecipientList", conPortal);
			cmdGet.CommandType = CommandType.StoredProcedure;
			cmdGet.Parameters.Add("@communityID", CommunityGlobals.CommunityID);
			
			
			ArrayList pmUsers = new ArrayList();

			conPortal.Open();
			SqlDataReader dr = cmdGet.ExecuteReader();
			while (dr.Read())
				pmUsers.Add(new PrivateMessageRecipientInfo(dr));
			conPortal.Close();
			return pmUsers;   
		}


		public static bool SendMessage(ProfileInfo Sender, ProfileInfo Recipient, string Subject, string BodyText, bool SendSenderEmailAddress)
		{
			try
			{
				MessageInfo formatInfo = MessageUtility.GetMessage("Private Message");
				PrivateMessageInfo MessageDetails = new PrivateMessageInfo(Subject,BodyText,Sender,Recipient,SendSenderEmailAddress);
			
				MailMessage mailMessage = new MailMessage();    
				mailMessage.To = MessageDetails.To;
				mailMessage.From = MessageDetails.From;
				mailMessage.Subject = FormatPrivateMessage(MessageDetails,formatInfo.Title);
				mailMessage.Body = FormatPrivateMessage(MessageDetails,formatInfo.Body);

				SmtpMail.SmtpServer = CommunityGlobals.SmtpServer;
				SmtpMail.Send(mailMessage); 
				return true;
			}
			catch (Exception ex) 
			{
				ActivityUtility.RecordError("Error sending Private Message", ex);
				return false;
			}
		}
		
		public static string FormatPrivateMessage(PrivateMessageInfo MessageDetails, string text)
		{
			text = text.Replace("<SenderUserName>", MessageDetails.SenderUserName);
			text = text.Replace("<RecipientFullName>", MessageDetails.RecipientFullName);
			text = text.Replace("<RecipientUsername>", MessageDetails.RecipientUsername);
			text = text.Replace("<EditProfileLink>", MessageDetails.EditProfileLink);
			text = text.Replace("<ContentSubject>", MessageDetails.ContentSubject);
			text = text.Replace("<ReplyLink>", MessageDetails.ReplyLink);
			text = text.Replace("<BodyText>", MessageDetails.BodyText);
			text = text.Replace("<CommunityName>", CommunityGlobals.CommunityName);

			return text;
		}

		public static string CreatePreviewBody(ProfileInfo Sender, ProfileInfo Recipient,string Subject, string BodyText)
		{
			MessageInfo formatInfo = MessageUtility.GetMessage("Private Message");
			PrivateMessageInfo MessageDetails = new PrivateMessageInfo(Subject,BodyText,Sender,Recipient,false);
			string text = FormatPrivateMessage(MessageDetails,formatInfo.Body);
			return text.Replace("\n","<br>");
		}
	}
}

⌨️ 快捷键说明

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