# 云开发发送邮件验证码
* [ ] 如何设计邮件验证码的逻辑
- 邮件服务商:提供稳定的邮件推送的服务
- 发信地址:用来发送电子邮件的地址

* [ ] 如何实现发送邮件验证码
- 安装依赖
`npm install mailgun-js`
[https://www.npmjs.com/package/mailgun-js](https://www.npmjs.com/package/mailgun-js)
- 须`mailgun`官网注册获取一些东西
[https://www.mailgun.com/](https://www.mailgun.com/)
- 前端代码
```html
<button bindtap="sendMail">发送邮件</button>
```
- js代码
```javascript
sendMail:function(){
wx.cloud.callFunction({
name:'sendMail',
data:{
code:"1234"
}
}).then(console.log)
},
```
- 云函数代码
```javascript
// 云函数入口文件
const cloud = require('wx-server-sdk')
var api\_key = 'XXXXXXXXXXXXXXXXXXXXXXX';
var domain = 'www.mydomain.com';
var mailgun = require('mailgun-js')({ apiKey: api\_key, domain: domain });
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
let code = event.code
var data = {
from: 'Excited User ',
to: 'serobnic@mail.ru',
subject: '这是一封来自云开发的验证邮件',
text: `验证码是:${code}`
};
mailgun.messages().send(data, function (error, body) {
console.log(body);
});
return {"msg":"ok"}
}
```