Adonis api邮件无效(adonis install @ adonisjs / mail)

时间:2017-12-14 20:21:09

标签: javascript rest email smtp adonis.js

问题

大家好,我正在开发Adonis restful API服务(版本4.0)。我在我的代码中使用adonis邮件。我跟着doc但是我得到了这样的错误:找不到模块' Adonis / Src / View'

工具

Webstorm& insomina(休息客户)

我的文件夹结构

structure

示例代码

 config/Mail.js  - I am using mailtrap

 'use strict'

 const Env = use('Env')

 module.exports = {

 connection: Env.get('MAIL_CONNECTION', 'smtp'),
 smtp: {
 driver: 'smtp',
 pool: true,
 port: 2525,
 host: 'smtp.mailtrap.io',
 secure: false,
 auth: {
  user: "########",
  pass: "########"
},
maxConnections: 5,
maxMessages: 100,
rateLimit: 10
  },


sparkpost: {
  driver: 'sparkpost',
   apiKey: Env.get('SPARKPOST_API_KEY'),
   extras: {}
  }
   }
my Code : in user controller
 // Store the information

async store({request, response}) {

let validation = await  validate(request.all(), rules)
if (validation.fails()) {
  return response.status(400).json({data: 'error', message: validation._errorMessages[0].message, status: false})
}
const userInfo = request.all();
const users = new User();
users.username = userInfo.username;
users.email = userInfo.email;
users.password = userInfo.password;
let checkUser = await dataBase.table('users').where('email', '=', users.email)
if (checkUser.length > 0) {
  return response.status(400).json({data: 'insert fail', message: 'email already register', status: false})
}
await users.save();
// sending mail after registration
const data =request.only(['username','email', 'password']);
await Mail.send('emails.welcome', {}, (message) => {
  message.from('#####.com')
  message.to('####.com')
})
return response.status(201).json({message: 'user created successfull', status: true});

}

屏幕截图 - 休息客户端

error

2 个答案:

答案 0 :(得分:2)

要求查看提供者需要安装之后,只有欢迎的html文件才能正常工作

需要在providers数组中注册视图提供程序

'@adonisjs/framework/providers/ViewProvider' 

答案 1 :(得分:0)

注册 ViewProvider 后我仍然收到此错误。

事实证明,最新版本的邮件和验证包(也可能是其他版本)具有重大更改,可用于 Adonis 5 版。要安装可用于 Adonis 4.1 版的每个包的版本,请在通过 npm 安装时使用旧版标志.

像这样:npm i @adonisjs/mail@legacy

从维护者那里阅读有关该主题的更多信息 here