1、地址:SendSms_短信服务_API调试-阿里云OpenAPI开发者门户
2、发送短信Demo链接: 短信服务SDK下载和安装_短信服务(SMS)-阿里云帮助中心
3、SDK包名称:AlibabaCloud.SDK.Dysmsapi20170525
一、帮助类
重点:需要自己去阿里云平台配置开通对应的功能
using AlibabaCloud.OpenApiClient.Models;
using AlibabaCloud.SDK.Dysmsapi20170525;
using AlibabaCloud.SDK.Dysmsapi20170525.Models;
using AlibabaCloud.TeaUtil.Models;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Dm.Model.V20151123;
using System;
namespace DBConnection.Helper
{
/// <summary>
/// 阿里云相关帮助类
/// </summary>
public class AliYunDBHelper
{
#region 这里是默认阿里云参数配置
//此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
private const string accessKeyId = "";
private const string accessKeySecret = "";
#endregion
/// <summary>
/// 使用AK&SK初始化账号Client
/// </summary>
/// <param name="accessKeyIdT"></param>
/// <param name="accessKeySecretT"></param>
/// <returns></returns>
public static Client CreateClient(string accessKeyIdT, string accessKeySecretT)
{
Config config = new Config()
{
AccessKeyId = accessKeyIdT,
AccessKeySecret = accessKeySecretT
};
//访问域名
config.Endpoint = "";
return new Client(config);
}
/// <summary>
/// 发送通知短信
/// </summary>
/// <param name="phone">手机号</param>
/// <param name="templateCode">短信模板ID-可在短信控制台中找到</param>
/// <param name="templateParam">短信模板对应变量的实际值 支持传入多个参数,示例:{"name":"张三","number":"1390000****"}。</param>
/// <returns></returns>
public static bool SendSms(string phone, string templateCode, string templateParam)
{
try
{
Client client = CreateClient(accessKeyId, accessKeySecret);
//发送短信
SendSmsRequest sendSmsRequest = new SendSmsRequest()
{
PhoneNumbers = phone.Trim(' '), //发送手机号
TemplateCode = templateCode, //发送短信模板
SignName = "hrflag", //短信签名名称
TemplateParam = templateParam //短信模板对应的实际值
};
RuntimeOptions runtime = new RuntimeOptions();
SendSmsResponse response = client.SendSmsWithOptions(sendSmsRequest, runtime); //获取发送短信返回结果
if (response.StatusCode == 200) return true;
return false;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
/// <summary>
/// 发送通知邮件
/// </summary>
/// <param name="email">邮箱</param>
/// <param name="emailTitle">邮件标题</param>
/// <param name="emailTemplate">邮件模板</param>
/// <returns></returns>
public static bool SendEmail(string email, string emailTitle, string emailTemplate)
{
try
{
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
SingleSendMailRequest request = new SingleSendMailRequest();
request.AccountName = ""; //控制台创建的发信地址
request.FromAlias = ""; //发信人昵称
request.ClickTrace = "1"; //为打开数据跟踪功能
request.AddressType = 1; //地址类型 0:为随机账号 1:为发信地址
request.ReplyToAddress = true; //是否启用管理控制台中配置好回信地址
request.ToAddress = email; //目标邮箱地址
request.Subject = emailTitle; //邮件主题,限制28K。
request.HtmlBody = emailTemplate; //邮件 html 正文,限制28K。
SingleSendMailResponse httpResponse = client.GetAcsResponse(request); //发送邮件
if (httpResponse.HttpResponse.Status == 200) return true; //发送成功
return false;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
}
}