SinGooCMS.Plugins是一款第三方组件集合,如邮件、短信、OSS等!支持netstandard2.1和net framework 4.6.1。
在线文档API:http://www.singoo.top/include/doc/plugins/html/index.html
一、 邮件发送
在各种应用中,发送邮件应该是很频繁吧,比如注册一个用户就会发送欢迎信息到邮箱,绑定一个邮箱也会发一封确认邮件等等。
我们这里使用了第三方组件KitMail作为邮件发送工具,同时也兼容了.net自带的NetMail。
发送示例如下:
//声明一个实例,默认是KitMail组件
IEmail email = MailProvider.Instance;
email.Config = new MailConfig()
{
ServMailAccount = "16826375@qq.com",
ServMailSMTP = "smtp.qq.com",
ServMailPort = 465, //开户SSL,端口填465,否则端口填25
ServMailUserName = "16826375",
ServMailUserPwd = "nqfxgin11111111111111", //邮箱需要开通POP3/SMTP服务,这里的密码是授权码
ServMailIsSSL = true,
FromDisplayName = "测试的"
};
var result =await email.SendEmailAsync("16826375@qq.com", "这是一个测试", "this<br/>is<br>a<br/>test");
二、短信发送
集成了阿里云和腾讯云两种短信接口。
在使用之前需要在阿里云/腾讯云的短信平台创建【签名】以及【模板】。如果这2项没有审核通过的话,短信是发不出去的。
使用示例:
//阿里云发送短信
ISMS sms = SMSProvider.Create("AliYunSMS");
sms.Config = new SMSConfig()
{
SMSUId = "LTAI3R1111111", //账户AccessKey
SMSPwd = "1DnnagtroDvcka91L0000000000", //账户AccessKey的密钥
EndPoint = "dysmsapi.aliyuncs.com",
SignName = "新谷", //签名
RegionId = "cn-hangzhou"
};
//SMS_25585959 是模板ID,code:123456 其中code表示模板的参数,而123456是code的值
var result = await sms.SendMsgAsync("17788760902,18296860929", "SMS_25585959", "code:123456");
/*
腾讯云发送短信
账户->访问管理->访问密钥->API密钥管理里查看,如果没有就新建
SecretId: AKIDoJuEHS81PfgXsz11111111111
SecretKey: ay9lokbSCkFd3NRI0Z0000000000000
短信->应用管理里面查看
SDK AppID : 1400370664
*/
ISMS sms = SMSProvider.Create("QcloudSMS");
sms.Config = new SMSConfig()
{
SMSUId = "AKIDoJuEHS81PfgXszA1111111111111", //账户的SecretId
SMSPwd = "ay9lokbSCkFd3NRI0ZHo0000000000000", //账户的SecretKey
APPID = "1400370664", //应用的AppID
EndPoint = "sms.tencentcloudapi.com",
SignName = "singootop", //签名
RegionId = "ap-guangzhou"
};
//850464 表示模板ID,123456 表示参数的值
var result = await sms.SendMsgAsync("17788760902", "850464", "123456");
三、阿里云存储OSS
为了提高网站的响应速度,我们可以把图片等文件存储到OSS。
//首先定义一个配置,也可以从数据库中读取
private AliyunOSSConfig config = new AliyunOSSConfig() {
EndPoint= "oss-cn-shenzhen.aliyuncs.com",
AccessKeyId= "LTAI3REva111111111111", //阿里云账户访问管理的AccessKeyId
AccessKeySecret = "1DnnagtroDvcka91LOua0000000000", //阿里云账户访问管理的AccessKeySecret
BucketName = "singoocms", //已经创建的文件夹
CName="file.singoo.top" //指向BucketName的域名
};
//上传文件
var oss = new AliyunOSS(config);
var result = oss.PutObject("1.png", @"F:qrcode.png"); //1.png是将存储在目录(BucketName)的文件名
如上,已经把文件上传到OSS后,可以使用http://file.singoo.top/1.png 来访问
OSS文件管理可以使用ossbrowser
ossbrowser是阿里云官方提供的OSS图形化管理工具,提供类似Windows资源管理器的功能。使用ossbrowser,您可以方便地浏览、上传、下载和管理文件。
下载地址:https://gosspublic.alicdn.com/oss-browser/1.13.0/oss-browser-win32-x64.zip?spm=5176.8465980.0.0.50671450Py3Xiw&file=oss-browser-win32-x64.zip