阿里云发送短信和邮件

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);
            }
        }
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值