Update MailHelper

This commit is contained in:
2021-05-18 09:32:25 +08:00
parent 7c0b4f37af
commit 31b5a1f5b7
6 changed files with 105 additions and 13 deletions

View File

@@ -680,6 +680,16 @@
字典类型表 字典类型表
</summary> </summary>
</member> </member>
<member name="P:Ewide.Core.SysDictType.Pid">
<summary>
父Id
</summary>
</member>
<member name="P:Ewide.Core.SysDictType.Pids">
<summary>
父Ids
</summary>
</member>
<member name="P:Ewide.Core.SysDictType.Name"> <member name="P:Ewide.Core.SysDictType.Name">
<summary> <summary>
名称 名称
@@ -2202,6 +2212,11 @@
检测数据不存在 检测数据不存在
</summary> </summary>
</member> </member>
<member name="F:Ewide.Core.ErrorCode.xg1100">
<summary>
网络错误
</summary>
</member>
<member name="T:Ewide.Core.FileLocation"> <member name="T:Ewide.Core.FileLocation">
<summary> <summary>
文件存储位置 文件存储位置
@@ -3989,6 +4004,11 @@
状态(字典 0正常 1停用 2删除 状态(字典 0正常 1停用 2删除
</summary> </summary>
</member> </member>
<member name="P:Ewide.Core.Service.AddDictTypeInput.Pid">
<summary>
父id
</summary>
</member>
<member name="P:Ewide.Core.Service.AddDictTypeInput.Name"> <member name="P:Ewide.Core.Service.AddDictTypeInput.Name">
<summary> <summary>
名称 名称
@@ -4157,6 +4177,22 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Ewide.Core.Service.SysDictTypeService.CreateNewPids(System.String)">
<summary>
创建Pids格式
如果pid是0顶级节点pids就是 [0];
如果pid不是顶级节点pids就是 pid菜单的 pids + [pid] + ,
</summary>
<param name="pid"></param>
<returns></returns>
</member>
<member name="M:Ewide.Core.Service.SysDictTypeService.GetChildIdListWithSelfById(System.String)">
<summary>
根据节点Id获取所有子节点Id集合包含自己
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="T:Ewide.Core.Service.EmpExtOrgPosOutput"> <member name="T:Ewide.Core.Service.EmpExtOrgPosOutput">
<summary> <summary>
附属机构和职位参数 附属机构和职位参数
@@ -7030,6 +7066,13 @@
<param name="Milliseconds"></param> <param name="Milliseconds"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Ewide.Core.Util.MailHelper.#ctor(System.String,System.String)">
<summary>
邮箱类
</summary>
<param name="message">发送的信息</param>
<param name="userMailAddress">用户的地址</param>
</member>
<member name="M:Ewide.Core.Util.RSAHandler.Xml2PemPublic(System.String,System.String)"> <member name="M:Ewide.Core.Util.RSAHandler.Xml2PemPublic(System.String,System.String)">
<summary> <summary>
XML 文件转成PEM 公钥格式 XML 文件转成PEM 公钥格式

View File

@@ -1,15 +1,59 @@
using System.Net.Mail; using Furion;
using Furion.FriendlyException;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Options;
using System;
using System.Net.Mail;
using System.Text;
namespace Ewide.Core.Util namespace Ewide.Core.Util
{ {
public class MailHelper public class MailHelper
{ {
public string Message { set; get; }
public string UserMailAddress { set; get; }
/// <summary>
/// 邮箱类
/// </summary>
/// <param name="message">发送的信息</param>
/// <param name="userMailAddress">用户的地址</param>
public MailHelper(string message, string userMailAddress)
{
//MailHelper mail = new MailHelper("第一次发送邮箱测试", "591410538@qq.com");
//mail.Send();
Message = message;
UserMailAddress = userMailAddress;
}
public void Send() public void Send()
{ {
MailMessage msg = null; string account = App.Configuration["Mail:Account"];
//smtpClient.Credentials = new System.Net.NetworkCredential(mail.from.Send_Address.Address, mail.from.password);//设置发件人身份的票据 string passWord = App.Configuration["Mail:PassWord"];
//smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; //var options = Options.Create(options: new MemoryCacheOptions());
//smtpClient.Host = "smtp." + mail.from.Send_Address.Host; //IMemoryCache cache = new MemoryCache(options);
SmtpClient smtpClient = new SmtpClient();
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Host = App.Configuration["Mail:Host"];
smtpClient.Credentials = new System.Net.NetworkCredential(account, passWord);
smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
MailMessage mailMessage = new MailMessage();
MailAddress fromAddr = new MailAddress(account);
mailMessage.From = fromAddr;
mailMessage.To.Add(UserMailAddress);
mailMessage.Subject = App.Configuration["Mail:Subject"];
mailMessage.BodyEncoding = Encoding.UTF8;
mailMessage.IsBodyHtml = true;
mailMessage.Priority = MailPriority.Low;
mailMessage.Body = Message;
try
{
smtpClient.Send(mailMessage);
}
catch
{
throw Oops.Oh(ErrorCode.xg1100);
}
} }
} }
} }

View File

@@ -43,13 +43,15 @@ namespace Ewide.Core.Util
/// <returns></returns> /// <returns></returns>
public static string Format(string key, int type) public static string Format(string key, int type)
{ {
string result = string.Empty; int length = key.Length / 64; for (int i = 0; i < length; i++) string result = string.Empty;
int length = key.Length / 64;
for (int i = 0; i < length; i++)
{ {
int start = i * 64; int start = i * 64;
result = result + key.Substring(start, 64) + "\r\n"; result = result + key.Substring(start, 64) + "\r\n";
} }
result = result + key.Substring(length * 64);
result = result + key.Substring(length * 64); if (type == 1) if (type == 1)
{ {
result = result.Insert(0, "-----BEGIN PUBLIC KEY-----\r\n"); result = result.Insert(0, "-----BEGIN PUBLIC KEY-----\r\n");
result += "\r\n-----END PUBLIC KEY-----"; result += "\r\n-----END PUBLIC KEY-----";
@@ -68,7 +70,6 @@ namespace Ewide.Core.Util
/// <returns></returns> /// <returns></returns>
public static string RSAEncrypt(string content) public static string RSAEncrypt(string content)
{ {
//string publickey = @"<RSAKeyValue><Modulus>tu98wMoo297l+juulU4a3Xx7c2SZ93f0gTPKohE0uz4o8jWN8zXnAAfhf6MMTlkgf+qIwaORLtBQohDcX6Xp02Qe7Cq2LujVR+YJHxy2uo8+KTc5Rj/d0OkTjeCozGaJQH0XrwUO7w+rDnyXzA52IvMZPnUV3KnOj1mPH0IhrOU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
string publickey = App.Configuration["RSA:publickey"]; string publickey = App.Configuration["RSA:publickey"];
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] cipherbytes; byte[] cipherbytes;
@@ -84,7 +85,6 @@ namespace Ewide.Core.Util
/// <returns></returns> /// <returns></returns>
public static string RSADecrypt(string content) public static string RSADecrypt(string content)
{ {
//string privatekey = @"<RSAKeyValue><Modulus>tu98wMoo297l+juulU4a3Xx7c2SZ93f0gTPKohE0uz4o8jWN8zXnAAfhf6MMTlkgf+qIwaORLtBQohDcX6Xp02Qe7Cq2LujVR+YJHxy2uo8+KTc5Rj/d0OkTjeCozGaJQH0XrwUO7w+rDnyXzA52IvMZPnUV3KnOj1mPH0IhrOU=</Modulus><Exponent>AQAB</Exponent><P>7yKLJO9dobe7pNW3ob+Vse8kvlA+PObDrZNqFxUTLyXoAeHDnwz3BjJ2EVUPNJHV5F1/KPLTvADIjDrdB1qcbw==</P><Q>w9ZK0SHBddtE91skFFS72YDmxzmXumSuUyREStVul9ke0oU2HjcZA915bmR0Zrh1RzO3y1w9zXVn+GdZGjyd6w==</Q><DP>ncA67E2fhcwv0+hMcD5zYOLyaT2EISbWFQ43ISz879BgwcUOCEFEP+lP69Uh57sAz9pBxWCS/uXBZoh6QJysrw==</DP><DQ>vbC8F4YS1g3l55Koh+jra+qnnyHyDeGn2XCvlazWys7MRC40FWBZIp1MGdnDxhu1vZoi1SAr3O90HfA9JmTAsQ==</DQ><InverseQ>00v2vMCcgXy78eMby7R6zfZzacVnVFO2WeyxYF7pjrXYYP+C4JSJkWpy6JGLWbgZrK8HAuRguJmdRi8K2KiYWg==</InverseQ><D>rV3nb9nmwQDMGMrI2GyN30uivygfFj0TdgK8Tb1aqPzu1yRT46M4yXmuhkTiW7nxp+iANGssIx5+3Ch4gRj+r6BgBPldWNErK95a2v2Ae1+EzfVf21ybguBYeUVnV9c8qwoodZSVOajZapOgoS6s5TEOxHWRcF22AiFuaD1Tl90=</D></RSAKeyValue>";
string privatekey = App.Configuration["RSA:privatekey"]; string privatekey = App.Configuration["RSA:privatekey"];
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] cipherbytes; byte[] cipherbytes;

View File

@@ -90,7 +90,6 @@ namespace Ewide.Core.Util
string fullName = string.Join('.', currentAssemblyName, name); string fullName = string.Join('.', currentAssemblyName, name);
return Assembly.Load(currentAssemblyName).CreateInstance(fullName); return Assembly.Load(currentAssemblyName).CreateInstance(fullName);
} }
/// <summary> /// <summary>
/// 写入XML到磁盘 /// 写入XML到磁盘
/// </summary> /// </summary>

View File

@@ -25,12 +25,18 @@
"WriteXmlPath": { "WriteXmlPath": {
"SeedData": "SeedDataXml", "SeedData": "SeedDataXml",
"DataBase": "DataBaseXml", "DataBase": "DataBaseXml",
"ReadSelect": "SeedData" // SeedData 和 DataBase 两个中间选 "ReadSelect": "DataBase" // SeedData 和 DataBase 两个中间选
}, },
"RSA": { "RSA": {
"publickey": "<RSAKeyValue><Modulus>tu98wMoo297l+juulU4a3Xx7c2SZ93f0gTPKohE0uz4o8jWN8zXnAAfhf6MMTlkgf+qIwaORLtBQohDcX6Xp02Qe7Cq2LujVR+YJHxy2uo8+KTc5Rj/d0OkTjeCozGaJQH0XrwUO7w+rDnyXzA52IvMZPnUV3KnOj1mPH0IhrOU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>", "publickey": "<RSAKeyValue><Modulus>tu98wMoo297l+juulU4a3Xx7c2SZ93f0gTPKohE0uz4o8jWN8zXnAAfhf6MMTlkgf+qIwaORLtBQohDcX6Xp02Qe7Cq2LujVR+YJHxy2uo8+KTc5Rj/d0OkTjeCozGaJQH0XrwUO7w+rDnyXzA52IvMZPnUV3KnOj1mPH0IhrOU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>",
"privatekey": "<RSAKeyValue><Modulus>tu98wMoo297l+juulU4a3Xx7c2SZ93f0gTPKohE0uz4o8jWN8zXnAAfhf6MMTlkgf+qIwaORLtBQohDcX6Xp02Qe7Cq2LujVR+YJHxy2uo8+KTc5Rj/d0OkTjeCozGaJQH0XrwUO7w+rDnyXzA52IvMZPnUV3KnOj1mPH0IhrOU=</Modulus><Exponent>AQAB</Exponent><P>7yKLJO9dobe7pNW3ob+Vse8kvlA+PObDrZNqFxUTLyXoAeHDnwz3BjJ2EVUPNJHV5F1/KPLTvADIjDrdB1qcbw==</P><Q>w9ZK0SHBddtE91skFFS72YDmxzmXumSuUyREStVul9ke0oU2HjcZA915bmR0Zrh1RzO3y1w9zXVn+GdZGjyd6w==</Q><DP>ncA67E2fhcwv0+hMcD5zYOLyaT2EISbWFQ43ISz879BgwcUOCEFEP+lP69Uh57sAz9pBxWCS/uXBZoh6QJysrw==</DP><DQ>vbC8F4YS1g3l55Koh+jra+qnnyHyDeGn2XCvlazWys7MRC40FWBZIp1MGdnDxhu1vZoi1SAr3O90HfA9JmTAsQ==</DQ><InverseQ>00v2vMCcgXy78eMby7R6zfZzacVnVFO2WeyxYF7pjrXYYP+C4JSJkWpy6JGLWbgZrK8HAuRguJmdRi8K2KiYWg==</InverseQ><D>rV3nb9nmwQDMGMrI2GyN30uivygfFj0TdgK8Tb1aqPzu1yRT46M4yXmuhkTiW7nxp+iANGssIx5+3Ch4gRj+r6BgBPldWNErK95a2v2Ae1+EzfVf21ybguBYeUVnV9c8qwoodZSVOajZapOgoS6s5TEOxHWRcF22AiFuaD1Tl90=</D></RSAKeyValue>" "privatekey": "<RSAKeyValue><Modulus>tu98wMoo297l+juulU4a3Xx7c2SZ93f0gTPKohE0uz4o8jWN8zXnAAfhf6MMTlkgf+qIwaORLtBQohDcX6Xp02Qe7Cq2LujVR+YJHxy2uo8+KTc5Rj/d0OkTjeCozGaJQH0XrwUO7w+rDnyXzA52IvMZPnUV3KnOj1mPH0IhrOU=</Modulus><Exponent>AQAB</Exponent><P>7yKLJO9dobe7pNW3ob+Vse8kvlA+PObDrZNqFxUTLyXoAeHDnwz3BjJ2EVUPNJHV5F1/KPLTvADIjDrdB1qcbw==</P><Q>w9ZK0SHBddtE91skFFS72YDmxzmXumSuUyREStVul9ke0oU2HjcZA915bmR0Zrh1RzO3y1w9zXVn+GdZGjyd6w==</Q><DP>ncA67E2fhcwv0+hMcD5zYOLyaT2EISbWFQ43ISz879BgwcUOCEFEP+lP69Uh57sAz9pBxWCS/uXBZoh6QJysrw==</DP><DQ>vbC8F4YS1g3l55Koh+jra+qnnyHyDeGn2XCvlazWys7MRC40FWBZIp1MGdnDxhu1vZoi1SAr3O90HfA9JmTAsQ==</DQ><InverseQ>00v2vMCcgXy78eMby7R6zfZzacVnVFO2WeyxYF7pjrXYYP+C4JSJkWpy6JGLWbgZrK8HAuRguJmdRi8K2KiYWg==</InverseQ><D>rV3nb9nmwQDMGMrI2GyN30uivygfFj0TdgK8Tb1aqPzu1yRT46M4yXmuhkTiW7nxp+iANGssIx5+3Ch4gRj+r6BgBPldWNErK95a2v2Ae1+EzfVf21ybguBYeUVnV9c8qwoodZSVOajZapOgoS6s5TEOxHWRcF22AiFuaD1Tl90=</D></RSAKeyValue>"
}, },
"Mail": {
"Account": "983235253@qq.com",
"PassWord": "izknskjprlusbehf", //qq邮箱授权码
"Subject": "宽易邮箱发送测试",
"Host": "smtp.qq.com" //邮箱服务器地址
},
"Cache": { "Cache": {
"CacheType": "MemoryCache", // RedisCache "CacheType": "MemoryCache", // RedisCache
"RedisConnectionString": "127.0.0.1:6379,password=,defaultDatabase=2" "RedisConnectionString": "127.0.0.1:6379,password=,defaultDatabase=2"

View File

@@ -32,7 +32,7 @@ namespace Ewide.Web.Core.Service
{ {
#if DEBUG #if DEBUG
XmlSerializerUtil xmlHandler = new XmlSerializerUtil(); XmlSerializerUtil xmlHandler = new XmlSerializerUtil();
xmlHandler.WriteDataSeed(); //xmlHandler.WriteDataSeed();
//拿到数据保存到 XML文件 //拿到数据保存到 XML文件
Dictionary<string, object> dicDataBase = await GetDataBase(); Dictionary<string, object> dicDataBase = await GetDataBase();
foreach (KeyValuePair<string, object> item in dicDataBase) foreach (KeyValuePair<string, object> item in dicDataBase)