|
|
|
@ -1,17 +1,17 @@ |
|
|
|
# 短信发送 |
|
|
|
|
|
|
|
Abp框架提供一个用于发送短信的抽象,有如下优点: |
|
|
|
ABP 框架提供一个用于发送短信的抽象, 有如下优点: |
|
|
|
|
|
|
|
- 在不改变应用程序代码的情况下,您可以**非常容易地切换**短信发送提供者(提供商)。 |
|
|
|
- 如果您想创建可重用的应用程序模块,则不需要假设短信是如何发送的。 |
|
|
|
- 在不改变应用程序代码的情况下, 你可以**非常容易地切换**短信发送提供者(提供商). |
|
|
|
- 如果你想创建可重用的应用程序模块, 则不需要假设短信是如何发送的. |
|
|
|
|
|
|
|
## 安装 |
|
|
|
|
|
|
|
建议您使用[ABP CLI](CLI.md)来安装这个包。 |
|
|
|
建议你使用[ABP CLI](CLI.md)来安装这个包. |
|
|
|
|
|
|
|
### 使用Abp CLI |
|
|
|
|
|
|
|
在项目所在目录(.csproj 文件所在目录)打开命令行工具,输入如下命令: |
|
|
|
在项目所在目录(.csproj 文件所在目录)打开命令行工具, 输入如下命令: |
|
|
|
|
|
|
|
```bash |
|
|
|
abp add-package Volo.Abp.Sms |
|
|
|
@ -19,19 +19,19 @@ abp add-package Volo.Abp.Sms |
|
|
|
|
|
|
|
### 手动安装 |
|
|
|
|
|
|
|
如果您想要手动安装; |
|
|
|
如果你想要手动安装; |
|
|
|
|
|
|
|
1. 添加 [Volo.Abp.Sms](https://www.nuget.org/packages/Volo.Abp.Sms) NuGet 包到您的项目中: |
|
|
|
1. 添加 [Volo.Abp.Sms](https://www.nuget.org/packages/Volo.Abp.Sms) NuGet 包到你的项目中: |
|
|
|
|
|
|
|
``` |
|
|
|
Install-Package Volo.Abp.Sms |
|
|
|
``` |
|
|
|
|
|
|
|
2. 在您的模块的依赖列表中添加对模块`AbpSmsModule`的依赖: |
|
|
|
2. 在你的模块的依赖列表中添加对模块`AbpSmsModule`的依赖: |
|
|
|
|
|
|
|
```csharp |
|
|
|
[DependsOn( |
|
|
|
//...秋天依赖 |
|
|
|
//...其它依赖 |
|
|
|
typeof(AbpSmsModule) //添加新模块的依赖 |
|
|
|
)] |
|
|
|
public class YourModule : AbpModule |
|
|
|
@ -41,7 +41,7 @@ public class YourModule : AbpModule |
|
|
|
|
|
|
|
## 发送短信 |
|
|
|
|
|
|
|
[注入](Dependency-Injection.md) `ISmsSender`, 并使用`SendAsync`方法来发送短信。 |
|
|
|
[注入](Dependency-Injection.md) `ISmsSender`, 并使用`SendAsync`方法来发送短信. |
|
|
|
|
|
|
|
**例子:** |
|
|
|
|
|
|
|
@ -72,21 +72,21 @@ namespace MyProject |
|
|
|
} |
|
|
|
``` |
|
|
|
|
|
|
|
示例中给定的`SendAsync`方法是一个扩展方法,用于发送带有基本参数的短信。此外,您也可以传入一个有如下属性的`SmsMessage`对象: |
|
|
|
示例中给定的`SendAsync`方法是一个扩展方法, 用于发送带有基本参数的短信.此外, 你也可以传入一个有如下属性的`SmsMessage`对象: |
|
|
|
|
|
|
|
- `PhoneNumber` (`string`):目标手机号 |
|
|
|
- `Text` (`string`):短信消息内容 |
|
|
|
- `Properties` (`Dictionary<string, string>`):用于传入自定义参数的键值对 |
|
|
|
- `PhoneNumber` (`string`):目标手机号 |
|
|
|
- `Text` (`string`):短信消息内容 |
|
|
|
- `Properties` (`Dictionary<string, string>`):用于传入自定义参数的键值对 |
|
|
|
|
|
|
|
## NullSmsSender |
|
|
|
|
|
|
|
`NullSmsSender`是`ISmsSender`的一个默认实现。它写入内容到[标准日志](Logging.md)中,而不是真正地发送短信。 |
|
|
|
`NullSmsSender`是`ISmsSender`的一个默认实现.它写入内容到[日志](Logging.md)中, 而不是真正地发送短信. |
|
|
|
|
|
|
|
开发时,您不想真正地发送短信时,这个类是非常有用的。**然而,若您想真实发送短信,您需要在您的应用程序代码中实现`ISmsSender`接口。** |
|
|
|
开发时, 你不想真正地发送短信时, 这个类是非常有用的.**然而, 若你想真实发送短信, 你需要在你的应用程序代码中实现`ISmsSender`接口.** |
|
|
|
|
|
|
|
## 实现ISmsSender接口 |
|
|
|
|
|
|
|
通过创建一个实现`ISmsSender`接口的类,您可以很容易创建您自己的短信发送实现,如下所示: |
|
|
|
通过创建一个实现`ISmsSender`接口的类, 你可以很容易创建你自己的短信发送实现, 如下所示: |
|
|
|
|
|
|
|
```csharp |
|
|
|
using System.IO; |
|
|
|
@ -108,4 +108,4 @@ namespace AbpDemo |
|
|
|
|
|
|
|
## More |
|
|
|
|
|
|
|
[ABP Commercial](https://commercial.abp.io/)提供Twilio的集成包,用于使用[Twilio service](https://docs.abp.io/en/commercial/latest/modules/twilio-sms)来发送短信。 |
|
|
|
[ABP Commercial](https://commercial.abp.io/)提供Twilio的集成包, 用于使用[Twilio service](https://docs.abp.io/en/commercial/latest/modules/twilio-sms)来发送短信. |
|
|
|
|